지금 자바가 머리에서 뒤죽박죽 섞이고 있지만 미션 인증을 해보겠다...(언젠가는 반죽이 될거라 밑는다..ㅎㅎ)
미션! 09-2 확인 문제 2번 풀고 과정 설명하기!!
//인터페이스
public interface Vehicle {
public void run(); //추상 메소드
}
----------------------------------------------------------
//익명 구현 클래스와 객체 생성
public class Anonymous {
//1. 필드 선언 할 때 인터페이스 사용
Vehicle field = new Vehicle() {
@Override //재정의(오버라이딩) : 인터페이스의 추상 메소드에 대한 실체 메소드
public void run() {
System.out.println("자전거가 달립니다.");
}
};
//2. 로컬변수를 사용할 때 인터페이스 사용
void method1() {
Vehicle localVar = new Vehicle() {
@Override //재정의(오버라이딩) : 인터페이스의 추상 메소드에 대한 실체 메소드
public void run() {
System.out.println("승용차가 달립니다.");
}
};
localVar.run();
}
//3. 매개변수로 인터페이스 타입 사용
void method2(Vehicle v) {
v.run();
}
}
----------------------------------------------------------
//익명 구현 클래스와 객체 생성
public class AnonymousExample {
public static void main(String[] args) {
Anonymous anony = new Anonymous(); //객체 생성
anony.field.run(); //1
anony.method1(); //2
anony.method2( //3
new Vehicle() { //매개값으롤 익명 구현 객체를 대입
@Override
public void run() {
System.out.println("트럭이 달립니다.");
}
});
}
}
>>실행 결과
자전거가 달립니다.
승용차가 달립니다.
트럭이 달립니다.