익명 : 클래스 이름이 없다
이너 클래스 : 클래스 안에 클래스 있다
인터페이스로 객체 만드는 법 2개
- 자식 클래스 생성
- 익명 클래스 사용
자식 클래스는 인터페이스를 상속받으면
미완성 메소드를 완성시켜야한다.
익명클래스는 인터페이스 타입으로 만 만들수 있다.
왼쪽은 new B(); 오른쪽은 new C(); 인 것과 같다.
또한 추가로 cde() 함수를 추가할 수 없다.
1번처럼 매개변수로 인터페이스를 달라고 하면?
인터페이스는 객체를 못 만든다.
인터페이스로 객체 만드는 법 2개
- 자식 클래스 생성
- 익명 클래스 사용
문제가 되는 cde(a);함수를 호출하려면
방법1) 자식 클래스를 만든다.
1) 클래스 C의 객체를 생성한다.
C객체를 호출하기 이전에 매개 변수로 전달할 객체를 생성한다.
2) 인터페이스 A를 상속받는 class B 를 만든다.
3) 매개변수로 cde(a1);을 호출한다
인터페이스는 객체를 못 만든다.
인터페이스로 객체 만드는 법 2개
- 자식 클래스 생성
- 익명 클래스 사용
문제가 되는 cde(a);함수를 호출하려면
방법2) 익명 클래스를 만든다.
1) 클래스 C의 객체를 생성한다.
C객체를 호출하기 이전에 매개 변수로 전달할 객체를 생성한다.
2) 익명클래스 A를 정의하고 a에 담는다.
3) 매개변수로 cde(a);을 호출한다.
인터페이스는 객체를 생성하지 못한다.
인터페이스로 객체 만드는 법 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 |