Unity/문법

[Unity] 상속 금지 클래스 (sealed)

turbulence93 2025. 9. 22. 16:52

Sealed란?

클래스를 상속 불가능한 클래스로 정의할때 사용.

해당 클래스를 상속으로 사용하려고 할때 에러를 호출함


왜 사용하는가?

 

  • 역할이 고정된 유틸 클래스
    • UpdateGuard는 상태 관리만 하는 “작은 유틸 도구” 역할
    • 상속으로 확장할 필요가 거의 없음 → 오히려 상속 금지로 의도를 명확히 함
  • 안정성 보장
    • 만약 누군가 class MyGuard : UpdateGuard 해서 기능을 억지로 바꾸면,
      기획한 로직이 깨질 수 있음
    • 그래서 상속 막고, 필요하면 기능으로만 쓰도록 유도.
  • 최적화 측면
    • JIT(런타임 컴파일러)가 sealed 클래스를 보면 “이 클래스는 파생형이 없네?” 하고 메서드를 인라인 최적화하기 쉬워짐
    • 미세하지만 성능에도 이득이 될 수 있음