산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제

Java 익명 내부 클래스 마스터하기

명확한 실전 예제로 Java 익명 내부 클래스 정의, 구현, 활용법을 알아봅니다.

Java에서 클래스가 다른 클래스를 중첩할 수 있습니다—내부 클래스. 이 내부 클래스에 이름이 없으면 익명 내부 클래스라 부릅니다.

익명 내부 클래스는 다른 클래스나 표현식 내에서 인라인으로 정의됩니다. 이름이 없으므로 둘러싼 코드 실행 시에만 생성되어 짧고 일회성 구현에 이상적입니다.

일반적 패턴:

class OuterClass { // 익명 내부 클래스 인스턴스 생성 Type instance = new Type(parameters) { // 오버라이딩된 메서드나 추가 행동 }; } 

여기서 Type은 다음 중 하나:

  1. 익명 클래스가 확장할 슈퍼클래스
  2. 익명 클래스가 구현할 인터페이스

런타임에 위 문장이 익명 클래스 인스턴스를 구성하며, 선언된 참조 타입을 통해 사용할 수 있습니다.

중요: 선언이 표현식이므로 닫는 세미콜론이 문장을 끝내며 클래스 본문이 아닙니다.


예제 1: 익명 내부 클래스로 클래스 확장

class Polygon { public void display() { System.out.println("Inside the Polygon class"); } } class AnonymousDemo { public void createClass() { Polygon p1 = new Polygon() { @Override public void display() { System.out.println("Inside an anonymous class."); } }; p1.display(); } } public class Main { public static void main(String[] args) { new AnonymousDemo().createClass(); } } 

출력

Inside an anonymous class.

이 예시에서 익명 클래스는 Polygon을 확장하고 display()를 오버라이딩합니다. createClass() 실행 시 익명 하위 클래스 인스턴스 생성, 오버라이딩된 메서드 호출.


예제 2: 익명 내부 클래스로 인터페이스 구현

interface Polygon { void display(); } class AnonymousDemo { public void createClass() { Polygon p1 = new Polygon() { @Override public void display() { System.out.println("Inside an anonymous class."); } }; p1.display(); } } public class Main { public static void main(String[] args) { new AnonymousDemo().createClass(); } } 

출력

Inside an anonymous class.

여기서 익명 클래스가 Polygon 인터페이스를 구현하며 필요한 메서드 구현을 간결한 단일 블록으로 제공합니다.


왜 익명 내부 클래스를 사용하는가?

익명 내부 클래스는 짧고 컨텍스트 특화 구현이 필요할 때 빛을 발합니다:

장점:

더 크고 재사용 가능한 로직은 명명된 클래스나 람다 표현식(함수형 인터페이스용) 고려로 유지보수성 확보.

java

  1. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  2. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  3. Java 상속 마스터: 개념, 종류, 실전 예제 총정리
  4. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  5. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  6. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  7. Java ArrayList 마스터: 연산, 메서드, 모범 사례
  8. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  9. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성
  10. java.io로 Java 파일 작업 마스터하기 – 생성, 읽기, 쓰기 및 삭제