[혼공자] 6주차 미션

안민선·2024년 2월 15일
0

혼공시리즈

목록 보기
6/7

지금 자바가 머리에서 뒤죽박죽 섞이고 있지만 미션 인증을 해보겠다...(언젠가는 반죽이 될거라 밑는다..ㅎㅎ)

미션! 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("트럭이 달립니다.");
					}
				});
	}

}

>>실행 결과 
자전거가 달립니다.
승용차가 달립니다.
트럭이 달립니다.

0개의 댓글