반응형
Notice
Recent Posts
Recent Comments
Link
불로구
30강. (JAVA) 자바 - 중첩 인터페이스 본문
반응형
중첩 인터페이스
- 중첩 인터페이스는 클래스의 멤버로 선언된 인터페이스이다.
인터페이스를 왜 클래스 내부에 선언할까?!
- 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서다.
class A{ [static] interface B{ void m(); } }
중첩 인터페이스는 인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능하다
사용법
- 인스턴스 멤버 인터페이스는 밖 클래스의 객체가 있어야 사용 가능
- 정적 멤버 인터페이스는 밖 클래스의 객체 없이 밖 클래스만으로 접근 가능
- A 클래스의 내용을 보면 중첩 인터페이스 타입으로 필드 state를 선언했다.
- setRunning메소드로 구현 객체를 받아 필드에 대입한다.
- start()가 실행됐을 때 인터페이스를 통해 구현 객체의 메소드( run() )을 호출한다.
정리
중첩 클래스
- 클래스 내부에 선언한 클래스
- 두 클래스의 멤버들을 서로 쉽게 접근할 수 있다.
- 외부에 불필요한 관계 클래스를 감춰서 코드의 복잡성 줄인다.
멤버 클래스
- 클래스의 멤버로서 선언되는 중첩 클래스
- 멤버 클래스는 밖 객체의 필요 여부에 따라 인스턴스 멤버 클래스와 정적 멤버 클래스로 구분
로컬 클래스
- 생성자 또는 메소드 블록 내부에 선언된 중첩 클래스
중첩 인터페이스
- 클래스의 멤버로 선언된 인터페이스
- 중첩 인터페이스는 인스턴스 멤버 인터페이스, 정적 멤버 인터페이스 모두 가능
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
객체지향(OOP)란? (1) (0) | 2021.04.27 |
---|---|
JAVA - TCP 소켓 프로그래밍 (0) | 2021.04.19 |
[SpringFramework] - SpringSecurity를 이용한 로그인 설정 (0) | 2021.03.09 |
29강. (JAVA) 자바 - 중첩 클래스 (0) | 2020.06.30 |
28강. (JAVA) 자바 - 인터페이스(interface) (0) | 2020.06.21 |
Comments