익명 객체
- 이름이 없는 객체. 명시적으로 클래스를 선언하지 않기 때문에 쉽게 객체를 생성할 수 있음
- 필드값, 로컬 변수값, 매개변수값으로 주로 사용
실습 코드
package adu.anonyImpleObject;
interface Player {
public abstract void play(String source);
void stop();
}
class Soccer implements Player{
public void play(String source) {}
@Override
public void stop() {
}
}
public class AnonyImpleObjectEx {
public static void main(String[] args) {
Player ob = new Player() {
public void test() {
System.out.println("테스트");
};
@Override
public void play(String source) {
System.out.println("플레이 시작 : " + source);
}
@Override
public void stop() {
System.out.println("플레이 종료");
}
};
ob.play("아리랑");
ob.stop();
}
}
- text 는 호출이 될까?
- 안됨, 해당 오브젝트는 Player자료형(부모)로 지정이 되어 있기 때문에 Player에 존재하지 않는 test메서드는 호출할 수 없음.