재밌고 어려운 IT를 이해해보자~!
Section 12. 추상 클래스와 인터페이스 본문
01. 추상 클래스와 추상 메서드
오버라이딩을 위한 텅빈 생성자를 생성할 필요는없다. 추상 메서드를 사용하면 된다!
추상 메서드
선언부만 작성하고 구현부는 작성하지 않고 남겨둔 미완성 메서드
구현부가 없다는 의미로 선언부 끝에 세미콜론(;) 사용.
추상 메서드가 1개이상 이면 그 클래스는 무조건 추상 클래스로 선언.
추상 클래스
접근제한자 abstract 반환 타입 메서드 이름 (매개변수......)
public abstract class Animal {
abstract void cry();
}
- 일반 클래스 처럼 객체 생성 불가능.
- super()를 통해 추상 클래스의 생성자를 호출하여 부모 객체를 생성 후 자식 객체 생성
메서드 재정의 강제를 위해 사용.
추상 클래스와 메서드의 용도
- 자식 클래스 간의 공통적인 필드, 메서드 이름 통일
- 반드시 구현해야 하는 메서드 선언으로 공통 규격 제공.
02. 인터페이스 구현
모든 메서드가 추상 메서드인 추상 클래스 -> 인터페이스
인터페이스 선언
인터페이스는 어떤 형태로도 객체를 만들 수 없기 때문에 클래스라고 부를 수 없다.
인터페이스는 객체의 매개체, 즉 객체를 사용하는 방법을 제공하는 새로운 블록이다.
모든 필드는 public / static / final이어야한다.
상수 선언
인터페이스에 선언한 변수는 항상 상수가된다.
public static final 이 항상 같이 붙는다.
03. 인터페이스 사용
implements 키워드 사용
접근 제한자 class 클래스 이름 implements 인터페이스 이름 {
}
class PineapplePhone implements Phone, MicroPhone {
}
다중 인터페이스 구현가능하며, 위와 같이 구현시 객체는 Microphone과 Phone 클래스로 타입 변환 가능.
04. 인터페이스 상속
interface 인터페이스이름 extends 인터페이스1, 인터페이스2..{
}
인터페이스끼리 상속가능하며, extends 키워드를 사용해 다중상속가능
*참조
https://devocean.sk.com/blog/techBoardDetail.do?ID=164391
'JAVA Book Study' 카테고리의 다른 글
Section 14. 예외 처리 (0) | 2023.12.31 |
---|---|
Section 13. 내부 클래스 (0) | 2023.12.29 |
Section 11. 다형성과 타입 변환 (0) | 2023.12.29 |
Section 10. 상속 (0) | 2023.12.29 |
Section 09. 생성자 (0) | 2023.12.29 |
Comments