익명 클래스
객체 생성 시 '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("좌회전");
}
};
}
반응형
'개발 > 자바' 카테고리의 다른 글
char - int (다른 자료형 끼리 연산) (0) | 2022.04.07 |
---|---|
자바 String 처리 방법 (0) | 2022.04.07 |
(자바)값에 의한 호출 vs 참조에 의한 호출 (0) | 2022.04.05 |
Java) getter, setter (0) | 2022.04.04 |
Class, 객체 지향 프로그래밍(OOP) (0) | 2022.04.04 |
댓글