Java
[Java] 추상클래스, 인터페이스
maribel
2019. 7. 24. 11:37
1. 메서드의 종류 - 객체 생성 유무에 따라
- 일반 메서드 --> 객체 생성을 해야 호출이 가능
- 정적 메서드 --> 객체 생성 없이도 호출이 가능
- 추상 메서드 --> 메서드의 선언만 되어있는 메서드, 구현부{ } 가 없는 메서드
- ex) public abstract void go( );
2. 추상 클래스
- 클래스 내부에 추상 메서드가 하나라도 존재하면 추상 클래스
- 추상 클래스를 상속받은 자식 클래스는 추상메서드를 반드시 오버라이딩 해야 함
- 객체 생성 불가능
- 추상 클래스 사용 목적 : 설계 목적
3. 인터페이스
- 인터페이스 사용 목적 : 설계 목적
- 멤버변수 --> 상수만 선언 가능, static final 생략 가능
- ex) public static final int SU=3;
- 메서드 --> 추상 메서드만 선언 가능, abstract 생략 가능
- ex) public abstract 메서드명(매개변수);
- 인터페이스를 상속받은 자식 클래스는 인터페이스에서 선언된 추상 메서드를 반드시 오버라이딩 해야 함
- 객체 생성 불가능
4. 추상 클래스와 인터페이스의 차이점
- 추상 클래스 : 일반메서드 작성 가능, 인터페이스 : 일반메서드 작성 불가능
- 추상 클래스 : 단일 상속만 가능, 인터페이스 : 다중상속이 가능