[CH2] 익명 클래스 표현은 interface를 생성자로 사용하는 것이 아니다.

‍bng4535·2023년 3월 30일
0

채원님 질문 (Q. 동적파라미터화를 이해하기 위해 알고 있으면 좋은 익명 클래스 문법에 대해 설명해주세요)에 답변하기 위해 익명 클래스 문법을 살펴보다 개인적으로 헷갈렸던 점을 남깁니다.

new 인터페이스이름() {
    // 인터페이스에 선언된 메서드를 구현한 코드
}

new 인터페이스를_구현한_클래스이름() {
    // 인터페이스에 선언된 메서드를 구현한 코드
}

익명 클래스를 구현할 때 해당 인터페이스를 구현한 클래스나 인터페이스 이름을 사용합니다.

처음 익명 클래스 문법을 봤을 때 new 인터페이스() 를 보고 인터페이스가 생성자로 쓰일 수도 있는 건가 하고 헷갈렸는데, 익명 클래스는 말 그대로 클래스 이름이 없기 때문에 인터페이스 이름이나, 이를 구현한 클래스 이름을 사용하는 것이 규칙이라고 하네요.

new 인터페이스()는 인터페이스 객체를 만드는 것이 아니라 인터페이스를 구현한 익명 클래스 객체를 생성하는 것

profile
공부 기록

0개의 댓글