추상메소드(abstract method)
추상 메소드(abstract method) <> 구체화된 메소드
1. 본문({})이 없는 메소드이다.
2. 형식
abstract public 리턴타입 메소드명();
추상 클래스(abstract class)
약간 공통의 부모를 만들고 싶고, 묶고 싶을 때하고, 또한 반드시 필요한 메소드를 정할 때 구현해야할때 한다.
1. 추상 메소드를 하나라도 가진 클래스는 추상 클래스이다.
2. 추상클래스는 new를 할 수가 없다.(객체(인스턴스) 생성금지)< 핵심
3. 형식
abstract class 클래스명 {}
4. 추상 클래스를 상속받는 자식클래스들은 반드시! 추상 메소드를 오버라이드 해야한다.
인터페이스(interface)
- 추상클래스가 인터페이스로 발전한다.
- 특정 규칙을 지킨 추상클래스가 인터페이스이다.
- 인터페이스가 되기 위한 규칙
1) public final static 상수 만 선언할 수 있다.
2) public abstract 리턴타입 메소드명(); 만 선언할 수 있다. - 추상메소드
3) public default 리턴타입 메소드명(){}; 도 추가할 수 있다. - 디폴트메소드
4) public static 리턴타입 메소드명(){}; 도 추가할 수 있다. - 클래스메소드
- 작업지시서 역할을 수행한다.
- 인터페이스는 상속(extends) 받지 않고, 구현(implements)한다.
- 상속도 받고, 구현도 하면 => 다중 상속의 효과를 낼 수 있다.
- 여러 인터페이스의 다중 구현이 가능하다.
interface A{}
interface B{}
interface C implements A,B {}