추상클래스

    [JAVA] 인터페이스

    [인터페이스] 상수 필드(static final)와 추상 메소드(abstract)들로만 이루어진 추상클래스의 변형체(종특) 표현법 접근제한자 interface 인터페이스명{ //필드부=> 상수 필드만 작성(static final) /*public static final*/ int NUM=10; //인터페이스에는 상수 필드만 정의할 수 있기 때문에 애초에 앞의 public static final은 생략 가능하다 //메소드부=> 추상 메소드만 작성(abstract) /*public abstact*/ void eat(); void sleep(); //인터페이스에는 추상메소드만 정의할 수 있기 때문에 애초에 앞의 public abstract는 생략 가능하다 } 특징 인터페이스에서 필드는 무조건 “상수 필드”로 ..

    [JAVA] 추상클래스

    추상클래스 미완성된 클래스 추상클래스 특징 추상메소드가 존재하는 순간 반드시 추상클래스로 정의된다 단, 추상메소드가 없어도 클래스명 앞에 abstract를 붙이면 추상클래스로 만들 수 있다 객체 생성이 불가능하다(단, 참조형 변수로써 자식 객체를 담을 때는 사용 가능하다)⇒다형성 적용 추상클래스가 필요한 때 자식 클래스들에게 일정한 규칙을 부여하고 싶을 때 쓰면 좋다 클래스가 아직 구체적이지 않고 구현이 완벽한 상태가 아닐 때(개념적으로) 현재 이 클래스에 대한 객체 생성을 애초에 막고싶을 때(기술적으로) 추상메소드 미완성된 메소드로 몸통부 { }가 구현되어있지 않은 메소드 추상메소드 특징 자식클래스에서 오버라이딩을 통해 완성되는 메소드(강제로 오버라이딩을 해야한다) 오버라이딩을 안했을 경우 에러 발생 ..