프로젝트를 진행하다보니 문득 궁금한 점이 생겼다. final 키워드를 사용해 class 구현했는데, MVVM 패턴 때문이라고 생각했다.
하지만 final class를 사용하는 이유는 MVVM 패턴과는 직접적인 연관이 있는 것은 아니고, 주로 기술적이거나 성능적인 이유 때문이라고 한다.
MVVM 패턴과는 직접적인 연관이 없지만, 코드 작성 시 의도를 명확히 하고 성능을 개선하는 데 도움을 준다고 한다.
final 사용하는 주요 이유final 키워드는 클래스가 상속되지 못하도록 제한한다.final을 사용하는 것이 안전하다.final 키워드를 사용하면 컴파일러가 클래스의 메서드 호출을 더 빠르게 최적화할 수 있다.final class에서는 상속이 불가능하므로 정적 디스패치를 사용할 수 있다. 이를 통해 성능이 향상된다.final을 사용하면 개발자에게 이 클래스는 더 이상 확장되지 않을 것임을 명확히 전달한다.final 키워드를 자주 사용하게 된다.final을 쓰지 않아야 할까?BaseViewModel)final 키워드는 MVVM을 사용하기 때문이 아니라, 클래스가 상속될 필요가 없고 성능과 코드 안정성을 고려할 때 사용하는 것입니다. MVVM에서는 ViewModel이 상속이 필요 없는 독립적인 역할을 수행하므로, 자연스럽게 final을 사용하는 사례가 많아지는 거라구 한다.