본문 바로가기

java/자바

ch13 익명 이너 클래스

익명 : 클래스 이름이 없다

이너 클래스 : 클래스 안에 클래스 있다

 

인터페이스로 객체 만드는 2

  1. 자식 클래스 생성
  2. 익명 클래스 사용

 

자식 클래스는 인터페이스를 상속받으면

미완성 메소드를 완성시켜야한다.

 

 

 

 

익명클래스는 인터페이스 타입으로 만들수 있다.

왼쪽은 new B(); 오른쪽은 new C(); 것과 같다.

또한 추가로 cde() 함수를 추가할 없다.

 

 

 

 

1번처럼 매개변수로 인터페이스를 달라고 하면?

인터페이스는 객체를 못 만든다.

 

인터페이스로 객체 만드는 2

  1. 자식 클래스 생성
  2. 익명 클래스 사용

 

문제가 되는 cde(a);함수를 호출하려면

방법1) 자식 클래스를 만든다.

 

1) 클래스 C 객체를 생성한다.

C객체를 호출하기 이전에 매개 변수로 전달할 객체를 생성한다.

2) 인터페이스 A 상속받는 class B 만든다.

3) 매개변수로 cde(a1); 호출한다

 

 

인터페이스는 객체를 만든다.

 

인터페이스로 객체 만드는 2

  1. 자식 클래스 생성
  2. 익명 클래스 사용

 

문제가 되는 cde(a);함수를 호출하려면

방법2) 익명 클래스를 만든다.

 

1) 클래스 C 객체를 생성한다.

C객체를 호출하기 이전에 매개 변수로 전달할 객체를 생성한다.

2)  익명클래스 A 정의하고 a 담는다.

3) 매개변수로 cde(a); 호출한다.

 

 

 

 

 

 

 

 

인터페이스는 객체를 생성하지 못한다.

 

인터페이스로 객체 만드는 2

  1. 자식 클래스 생성
  2. 익명 클래스 사용

 

다만 A클래스 내부에 있는 인터페이스라서

상속 받을떄도 A.B 로 선언해야한다.

 

 

'java > 자바' 카테고리의 다른 글

[Chap14] - 02 예외(Exception)의 전가(throws)  (0) 2022.10.10
[Chap14] - 01 예외 및 예외처리  (0) 2022.10.10
Ch13 이너 클래스, 이너 인터페이스  (0) 2022.10.03
Ch12 인터페이스  (0) 2022.10.03
[Chap12] - 01 추상클래스  (0) 2022.09.25