반응형
어느 날 PR 리뷰에 이런 코멘트가 달렸다.
class newClass {
> >final 키워드를 붙여주세요.
새로 생성한 class는 한 곳에서 단 한가지 용도로 사용되었다. 사실 final을 생각하면서 붙이지 않았다. 그래서 생각해보기로 했다.
swift org에서 final을 이렇게 설명하고 있다.
You can prevent a method, property, or subscript from being overridden by marking it as final.
final을 지정하면, overriding을 컴파일 단계에서 막는다. class 에 final을 붙이면 해당 클래스는 subclassing 할 수 없다.
상속 불가. override 불가.
상속과 method override를 막는 효과가 있다. final을 지정하면 최초 생성시의 의도와 달리 유지보수를 하면서 변형되지 않도록 예방한다. 즉, final은 홀로 홀홀단신 역할을 다해내갔다는 강한 의지를 보여주는 키워드인 것이다.
반응형
'iOS > Swift' 카테고리의 다른 글
swift. 중첩 클로져(nested closure)에서 weak self 사용? (0) | 2022.04.27 |
---|---|
Swift. Ambiguous use of 'init' (0) | 2022.04.21 |
RxSwift 는? Reactive 프로그래밍을 알아보자 1 (0) | 2022.02.04 |
Combine은 무엇인가.(비동기 연산 처리 지원 프레임워크) (0) | 2022.01.20 |