반응형
익명 이너 클래스
- 이름을 알 수 없는 이너 클래스
- 인터페이스는 객체 생성이 불가하니 익명 이너 클래스를 사용해 C 타입의 객채생성 뒤에 중괄호를 이용
- 중관호 안에 메소드를 구현
interface C{
public abstract void bcd();
}
class A{
// C 타입의 생성자 호출
C b = new C(){
//추상 메서드 구현
public void bcd(){
}
};
// 이 메소드는 메인 메소드에서 A의 객체를 생성한 후 사용할 수 있다.
void abc(){
b.bcd();
}
}
인터페이스 타입의 입력매개변수 전달
interface A{
public abstract void abc();
}
class B implements A{
public void abc() {
System.out.println("매개변수 전달");
}
}
class C{
void cde(A a) { //
a.abc();
}
}
C c =new C();
// 1. A 타입의 자식 클래스 객체 생성
A a1 = new B();
c.cde(a1);
//2. 입력매개변수 위치에 바로 B클래스 객체생성
c.cde(new B());
//3. 익명 이너 클래스 사용
A a = new A(){
public void abc(){
}
c.cde(a);
}
//4. 입력매개변수 위치에 바로 익명 이너 클래스 사용
c.cde(new A(){
public void abc(){
}
});
반응형
'Java' 카테고리의 다른 글
예외/에러 [Exception/Error] (0) | 2022.05.04 |
---|---|
이너 인터페이스[inner Interface] (0) | 2022.05.03 |
Interface (0) | 2022.05.02 |
상속(..extends..) (0) | 2022.04.29 |
이너 클래스[inner class] (0) | 2022.04.29 |