지금을 사는 사람

혼자 공부하는 자바 6주차 본문

스터디/혼공학습단

혼자 공부하는 자바 6주차

지금회 2024. 2. 13. 18:45
728x90

기본미션

: 09-2 확인 문제 2번 풀고 과정 설명하기

// 인터페이스
package sec02.verify.exam02;
public  interface  Vehicle {  
    public  void  run();
}

// 익명 구현 클래스
package sec02.verify.exam02;

public class Anonymous{
    Vehicle field = new Vehicle(){ 
    @Override
    public  void  run(){
        System.out.println("자전거가 달립니다");
        } 
    };

    void  method1(){ 
        Vehicle localVar =  new  Vehicle(){ 

        @Override
        public  void  run(){ 
        System.out.println("승용차가 달립니다");  
        }  
    }; 
        localVar.run();  
    }  
    void  method2(Vehicle v){
        v.run();  
    } 
}

// 익명 예제
package sec02.verify.exam02;  
public class AnonymousExample{
    public static void main(String[] args) {
        Anonymous anony = new Anonymous();
        anony.field.run(); // 익명 객체의 run 실행
        anony.method1(); // method1에서 override한 run 실행
        anony.method2( // Vehicle을 생성하여 method2의 인자로 넘겨주어 새로운 run 실행
        new Vehicle()  {
        @Override
        public  void  run()  {
            System.out.printin("트럭이 달립니다");
        }
    }
);
  }  
}
// 출력결과
자전거가 달립니다.

승용차가 달립니다.

트럭이 달립니다.

 

 

728x90