본문 바로가기

반응형

키워드

(2)
자바 - 클래스의 메소드 오버라이드 못하게 하는 법 (final 키워드) 설계한 클래스를 상속은 가능하지만 해당 클래스의 특정 메소드만 수정(오버라이드)를 금지하고 싶을 때, final 키워드를 사용한다. 예시: final 키워드 없는 메소드class Phone { public void charge() { System.out.println("충전"); }}Phone 클래스는 charge() 메소드를 지닌다.Phone 클래스를 상속한 클래스들은 charge() 메소드를 사용할 수 있고 charge() 메소드를 오버라이드 할 수 있다. 만약 Phone 클래스를 설계한 개발자가 Phone 클래스의 charge() 메소드 코드를 상속한 클래스에서도 동일한 charge() 메소드 코드로 유지시키고 싶으면 final 키워드를 삽입하면 된다. 예시: final 키워..
자바 - 클래스 상속 못하게 하는 법 (final 키워드) 자바는 객체 지향 프로그래밍 언어이기 때문에 상속은 아주 중요한 특징이다.하지만 내가 설계한 클래스를 다른 코드에서 사용할 수 있게 하고 상속만 못하게 하고 싶은 경우가 있다.이럴 때, final 키워드를 활용하면 된다.  final class Apple { }// class NewApple extends Apple { } error: cannot inherit from final Apple위와 같이 Apple 클래스를 final로 정의했더니 NewApple 클래스는 Apple 클래스를 상속 할 수 없다.  그러면 상속을 못하게 하는 이유는 무엇일까?1. 설계한 클래스만 사용할 것을 강제하고 싶을 때 (상속을 하면 자식 클래스에서 부모 클래스의 코드를 수정(오버라이드) 및 새로운 코드 추가 가능).2. ..