재밌고 어려운 IT를 이해해보자~!

Section 12. 추상 클래스와 인터페이스 본문

JAVA Book Study

Section 12. 추상 클래스와 인터페이스

언제나즐거운IT 2023. 12. 29. 03:14

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