토털이
토털이의 ios 개발 여정
토털이
hands-on 개발자 토털이입니다🌈
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (7)
    • CS (2)
      • 자료구조&알고리즘 (2)
    • ios (1)
    • swift (2)
    • 🌈TIL (2)

블로그 메뉴

  • 홈
  • 태그
  • 글쓰기

공지사항

인기 글

태그

  • AppBased
  • UIKit
  • AppLaunch
  • queue
  • LinkedList
  • SWIFT
  • 링크드리스트
  • 앱실행과정
  • 큐

최근 댓글

최근 글

hELLO · Designed By 정상우.
토털이

토털이의 ios 개발 여정

🌈TIL

🌈 220922 TIL

2022. 9. 22. 20:58

오늘의 문제

  • 문제: https://leetcode.com/problems/palindrome-linked-list/
  • 풀이: https://github.com/tottalE/swift-algorithm/blob/main/tottale/20220922-isPalindrome.swift

오늘의 아티클

Swift Language Guide - Inheritance
https://bbiguduk.gitbook.io/swift/language-guide-1/inheritance

Overriding Property Getters and Setters

상속된 프로퍼티가 소스에서 저장된 또는 계산된 프로피티로 구현되었는지 여부와 상관없이 모든 상속된 프로퍼티를 재정의 하기위해 사용자 지정 getter와 setter를 제공할 수 있습니다. 상속된 프로퍼티에 저장된 또는 계산된 특성은 하위 클래스에서 알 수 없습니다. 그저, 상속된 프로퍼티의 특정 이름과 타입만 알고 있습니다.

프로퍼티 재정의의 부분으로 setter를 제공하면 getter도 제공해야 합니다. 재정의한 getter 내에서 상속된 프로퍼티의 값을 수정하고 싶지 않다면, getter에서 super.someProperty(상속한 프로퍼티 이름) 를 반환하면 상속된 값을 간편하게 전달할 수 있습니다.

Overriding Property Observers

상속된 stored properties 상수 또는 상속된 읽기전용 read-only computed properties에 property observer를 추가할 수 없습니다. 이 프로퍼티의 값은 설정할 수 없으므로 재정의의 부분으로 willSet 또는 didSet 구현을 제공하기에 적절하지 않습니다.
또한, 같은 프로퍼티에 재정의한 setter와 재정의한 프로퍼티 관찰자를 동시에 제공할 수 없습니다. 프로퍼티의 값이 변경되는 것을 관찰하기 원하고 이미 프로퍼티에 사용자화 setter를 제공하고 있다면 사용자화 setter 내에서 간단하게 값 변경을 관찰할 수 있습니다.

Preventing Overrides

final 표시를 통해 실수로 메서드, 프로퍼티, 또는 서브 스크립트를 재정의 하는 것을 방지할 수 있습니다. 재정의를 방지하려면 메서드, 프로퍼티, 또는 서브 스크립트의 키워드 전에 final 수정자를 작성합니다 (final var, final func, final class func, final subscript 와 같이 작성).

하위 클래스에서 final 메서드, 프로퍼티, 또는 서브 스크립트를 재정의 하면 컴파일 시 에러가 발생합니다. 확장한 클래스에 추가된 메서드, 프로퍼티, 또는 서브 스크립트는 확장의 정의 내에서 final로 표기될 수도 있습니다.

클래스 정의에 class 키워드 전에 final 키워드를 표기하여 final로 전체 클래스를 표시할 수 있습니다 (final class). final 클래스를 하위 클래스하려는 모든 시도는 컴파일 시 에러가 발생합니다.

'🌈TIL' 카테고리의 다른 글

🌈 220920 TIL  (0) 2022.09.21
    '🌈TIL' 카테고리의 다른 글
    • 🌈 220920 TIL
    토털이
    토털이
    ios를 공부하는 학생의 블로그입니다.

    티스토리툴바