2013년 10월 27일 일요일

[JAVA 파이널 클래스,메소드]자바 final class, final method 간 11-04 JAVA&WEB프레임워크실무과정 총 33일 99시간 11-07 Spring3.X, MyBatis, Hibernate실무과정 총 12일 36시간 11-08 자바초보에서안드로이드까지 총 18일 54시간 11-15 Spring3.X, MyBatis, Hibernate실무과정 총 5일 35시간 11-02 JAVA&WEB프레임워크실무과정 총 14일 98시간 11-02

[JAVA 파이널 클래스,메소드]자바 final class, final method
 
1. 화이널 클래스(final class)
 
자바에서는 모든 클래스는 하나이상의 하위 클래스를 가질 수 있으나, 상위 클래스는 하나만을 가질 수 있음.
단, final클래스는 하위 클래스를 가지지 못함.
마지막 하위 클래스, 하위 클래스를 만들수 없다.(더 이상 상속 될 수 없다.)
final class A
{ ...
}
class B extends B // 오류
 
어떤 클래스가 더 이상 추가될 기능이 없이 완벽하게 만들어 졌다면 final class로 선언
재정의 하는것이 바람직하지 않거나 안전하지 않은 경우 사용될 수 있다.
예)java.lang.String
 
2. 화이널 메소드(final method)
 
마지막으로 재정의된 메소드, 더 이상 재정의 안된다.
더 이상 구현될 필요가 없거나, 매우 중요한 메소드 이므로 하위 클래스에 의해 재정의 되면 안 된다는 의미로 사용된다.
class A
{
    final void m()
    ...
}
class B extends A
{
    void m() // 오류

static 메서드(클래스 메소드)는 자동으로 final 메서드가 됨(overriding불가능)

댓글 없음:

댓글 쓰기