지정자 sealed를 메소드 앞에 붙이면 이 메소드는 봉인되며 더 이상 재정의 할수 없다
부모가 virtual 지정자로 가상 선언해 놓은 메소드는 자식 클래스에서 override 지정자를 붙여 재정의가능하며
이 메소드는 계속 가상이므로 이후 파생되는 클래스에서도 자유롭게 재정의할수 있다
하지만 중간 단계에서 메소드를 봉인해 버리면 이후의 재정의가 금지된다

가상으로 선언된 메소드만 재정의 대상이며 가상이 아닌 메소드느 암시적으로 봉인
중간 단계의 클래스가 자신이 마지막으로 재정의하고 싶을 때만 sealed 지정자 사용






Base 에서 Message 가상 선언, 파생 클래스들은 이 메소드를 상속받아 재정의가능
Derived에서 sealed 지정자를 붙여 봉인했으므로 더이상 재정의 불가
Third에서 Message를 재정의하지 못하고 new 지정자를 붙여 새로 만든다

Posted by 코딩하는 야구쟁이
,