본문 바로가기
컴퓨터/Java

[JAVA] 이것이 자바다 (신용권, 한빛미디어) 6단원 연습문제_5번 풀이

by 버니케이 2021. 11. 9.
반응형

이것이 자바다 (신용권, 한빛미디어) 연습문제 풀이

 

 

...

[5번]
AnonymousExample 클래스의 실행 결과를 보고 Vehicle 인터페이스의 익명 구현 객체를 이용해서
필드, 로컬 변수의 초기값과 메소드의 매개값을 대입해보세요 

 

 

...

Vehicle.java

package exercise.exercise05;

public interface Vehicle {
	public void run();

}

 

 

 

...

Anonymous.java

package exercise.exercise05;

public class Anonymous {
	Vehicle field = new Vehicle() {// 로컬 메소드
		@Override
		public void run() {
			System.out.println("field : 자전거가 움직인다.");
		}
	};
	
	void method1() {
		Vehicle localVar = new Vehicle() {
			@Override
			public void run() {
				System.out.println("local : 자동차가 움직인다.");
			}
		};
				
		localVar.run();
	}
	
	void method2(Vehicle v) {
				
		v.run();
	}

}

 

 

 

...

AnonymousExample.java

package exercise.exercise05;

public class AnonymousExample {
	public static void main(String[]args) {
		Anonymous anony = new Anonymous();
		anony.field.run();
		anony.method1();
		anony.method2(new Vehicle(){// 파라미터 익명 객체로 전달
			
			@Override
			public void run() {
				System.out.println("anony : 트럭이 움직인다.");
			}
		});
	}

}
반응형

댓글