본문 바로가기
프로그래밍/Unity

sealed 클래스

by 뽀도 2015. 6. 12.

출처

 

[http://nowonbun.tistory.com/103]

[http://blog.naver.com/ssm_sebiya/140106406859]

[https://msdn.microsoft.com/ko-kr/library/ms173150.aspx]

 

 

sealed 의 사전적 의미는 a 봉인을 한 이라는 뜻이다.

그러면 sealed class는 무엇일까?

 

class 앞에 sealed 키워드를 쓰면 그 클래스는 더이상 상속이 불가능한 클래스가 된다.

그래서 sealed class 를 상속받으려 하면 에러를 뱉어낸다.

 

class aa 앞에 sealed 를 붙여 class sealed aa 라고 클래스를 생성하고

aa 클래스를 상속받는 bb 클래스르 만들면 에러가 나온다.

 

하지만 상속 하는 클래스는 sealed 클래스가 아닌데 상속받은 클래스의 sealed 키워드가 붙은 함수가 있다면

그 함수는 override 해서 사용할수 없습니다.

 

 

왜 sealed class를 사용하는 걸까요?

봉인 클래스는 기본 클래스로 사용될 수 없으므로 일부 런타임 최적화에서는 봉인 클래스 멤버 호출이 약간 더 빨라집니다.

 상속이 금지된 클래스는 보통 클래스에 비해 메모리 소비가 적고 빠르다고 합니다.

 
반응형

댓글