iOS/Swift

swift final class. final 키워드

StudySpare 2022. 4. 22. 16:51
반응형

어느 날 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은 홀로 홀홀단신 역할을 다해내갔다는 강한 의지를 보여주는 키워드인 것이다.

 

 

반응형