* 본 포스팅은 제가 국비지원교육을 받으며 노션에 정리한 내용을 옮겨놓은 것입니다.
발전을 위한 피드백과 지적은 언제나 환영합니다.
8.1 인터페이스의 역할 ~ 8.3 인터페이스 구현
(p. 344 ~ 3)
- 인터페이스는 개발코드와 객체가 서로 통신하는 접점 역할을 한다.
- 개발 코드를 수정하지 않고 사용하는 객체를 변경할 수 있도록 하기 위해서 사용
- 하나의 객체가 아니라 여러 객체들과 사용이 가능
- 상수필드 (Constant Field) : 인터페이스에서 필드 선언은 반드시 상수 (초기값 대입해야됨)
- 추상 메소드 (Abstract Method) : 실제 실행부는 객체(구현 객체)가 가지고 있고 객체가 가지고 있는 메소드를 설명한 것 (매개값과 리턴타입)
public interface RemoteControl {
public int MAX_VOLUME = 10;
public int MIN_VOLUME = 0;
//상수 필드 선언
public void turnOn();
public void turnOff();
public void setVolume(int volume);
//추상 메소드
}
- 추상메소드는 구현 객체에서 반드시 실체 메소드로 재정의!
public class RemoteControlExample{
public static void main(String[] args){
RemoteControl rc;
rc = new Television();
rc = new Audio();
}
}
// RemoteControl 인터페이스로 구현객체인 TV, Audio 사용하는법
8.3.2 익명 구현 객체
- UI 프로그래밍에서 이벤트를 처리하거나 임시 작업 스레드를 만들기 위해 익명 구현 객체를 많이 활용함. (ex. new ActionListener { ... 메소드 재정의 ...})
인터페이스 변수 = new 인터페이스() {
// 인터페이스에 선언된 추상 메소드의 실체 메소드 선언
}
- 인터페이스 → 객체 만들 수 없는 이유 : 추상메소드 때문. (추상메소드 재정의하면 사용 가능)
* 본 포스팅은 제가 국비지원교육을 받으며 노션에 정리한 내용을 옮겨놓은 것입니다.
발전을 위한 피드백과 지적은 언제나 환영합니다.
'JAVA' 카테고리의 다른 글
[이것이 자바다] 11 기본 API 클래스 (2) getProperty, Collection (0) | 2021.03.10 |
---|---|
[이것이 자바다] 11 기본 API 클래스 (1) 객체비교 compare, 오름차순까지 (0) | 2021.03.09 |
[이것이 자바다] 10 예외 처리 (Exception) (0) | 2021.03.09 |
[이것이 자바다] 07 상속 (인터페이스 포함) (0) | 2021.03.09 |
[이것이 자바다] 06 클래스 (Class), 객체지향 (0) | 2021.03.09 |
Uploaded by Notion2Tistory v1.1.0