책/자바의 신

13장 인터페이스와 추상클래스, enum(그리고 final)

jhg0406 2022. 2. 27. 14:42

interface는 구현 안 된 메소드만 포함해야 함

그리고 final, static 메서도를 포함 할 수 없음

 

abstract클래스는 구현 안된 메소드와 구현된 메소드 둘 다 포함할 수 있음

fianl, static메서드도 모두 포함할 수 있음

 

클래스에 final 예약어가 붙으면 상속 할 수 없는 클래스가 됨

메소드에 final 예약어가 붙으면 override 할 수 없는 메소드가 됨

변수에 final 예약어가 붙으면 변경 불가능한 변수가 됨

final 인스턴스 변수는 생성과 동시에 초기화를 해야 함

public class FinalVariable {
	final int instanceVariable=1;
}

final 매개변수나 지역변수는 반드시 선언때 초기화를 안해도 됨

public class FinalVariable {
    
    public void method(final int parameter) {
    	final int localVariable;
    }
}

final 변수로 선언된 객체는 객체 안의 상태가 변할 수 있음

public class FinalReferenceType {
	final MemberDTO dto = new MemberDTO();
    
    public static void main(String args[]) {
    	dto.name = "sangmin";
    }
}