개발/자바
익명 클래스를 이용한 추상클래스 객체 생성 방법
kakk789
2022. 4. 7. 21:30
익명 클래스
객체 생성 시 'ctrl' + 'space' -> 'Anonymous Inner Type' 클릭
- 원래 추상클래스는 객체를 만들 수 없다. 왜 생성할 수 없냐면 추상메소드를 선언만 하고 정의하지 않았기 때문인데, 추상클래스를 객체로 만들고 싶다면 객체 생성 시에 추상메소드를 정의하면 된다.
- 추상클래스를 상속받은 클래스를 정의하는데 따로 이름을 정해주지 않고 바로 추상메소드를 오버라이딩한 클래스를 만들면서 바로 객체를 생성할때에 객체를 생성함과 동시에 추상메소드를 정의할 수 있음
예시 코드
- Movable이라는 interface에 추상 메소드 2개가 존재
- main에서 interface를 선언함과 동시에 구현까지 같이 해버림
public interface Movable {
public void leftMove();
public void rightMove();
}
@SpringBootApplication
public class Day0630Application {
public static void main(String[] args) {
SpringApplication.run(Day0630Application.class, args);
Movable myCar = new Movable() {
@Override
public void rightMove() {
System.out.println("우회전");
}
@Override
public void leftMove() {
System.out.println("좌회전");
}
};
}
반응형