English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 예제를 통해 Java의 애니밍 클래스를 배웁니다.
Java에서는 클래스가 다른 클래스를 포함할 수 있습니다. 이름을 제공하지 않고 내부 클래스를 생성할 수 있습니다.
이름이 없는 내부 클래스는 애니밍 클래스라고 합니다.
애니밍 클래스는 다른 클래스 내에서 정의되어야 합니다. 따라서 이를 애니밍 내부 클래스라고도 합니다. 그 문법은 다음과 같습니다:
class outerClass { //애니밍 클래스 정의 object1 = new Type(parameterList) { //애니밍 클래스 본문 }; };
애니밍 클래스는 일반적으로 서브클래스를 상속하거나 인터페이스를 구현합니다.
여기서,형식(Type)될 수 있습니다
애니밍 클래스가 상속하는 슈퍼클래스
애니밍 클래스가 구현하는 인터페이스
위 코드는 실행 중에 애니밍 클래스의 객체 object를 생성합니다.1
주의:애니밍 클래스는 표현식 내에서 정의됩니다. 따라서 애니밍 클래스의 마지막 부분에서 세미콜론을 사용하여 표현식의 마지막을 나타냅니다.
class Polygon { public void display() { System.out.println("Polygon 클래스 내부"); }; }; class AnonymousDemo { public void createClass() { //애니밍 클래스 생성, Polygon 클래스 상속 Polygon p1 = new Polygon() { public void display() { System.out.println("익명 클래스의 내부."); }; }; p1.display(); }; }; class Main { public static void main(String[] args) { AnonymousDemo an = new AnonymousDemo(); an.createClass(); }; };
출력 결과
익명 클래스의 내부
위 예제에서, Polygon 클래스를 생성했습니다. 이 클래스는 display() 메서드 하나만 있습니다.
그런 다음, Polygon 클래스를 상속하고 display() 메서드를 재정의한 애니밍 클래스를 생성했습니다.
이 프로그램을 실행할 때, 애니밍 클래스의 객체 p를 생성합니다.1그런 다음, 이 객체는 애니밍 클래스의 display() 메서드를 호출합니다.
interface Polygon { public void display(); }; class AnonymousDemo { public void createClass() { //애니밍 클래스 인터페이스 구현 Polygon p1 = new Polygon() { public void display() { System.out.println("익명 클래스의 내부."); }; }; p1.display(); }; }; class Main { public static void main(String[] args) { AnonymousDemo an = new AnonymousDemo(); an.createClass(); }; };
출력 결과
익명 클래스의 내부
위의 예제에서는 Polygon 인터페이스를 구현하는 익명 클래스를 생성했습니다.
익명 클래스에서 필요할 때마다 객체를 생성합니다. 즉, 특정 작업을 수행하기 위해 객체를 생성합니다. 예를 들어,
Object = new Example() { public void display() { System.out.println("익명 클래스가 display() 메서드를 재정의합니다."); }; };
여기서 display() 메서드를 재정의할 필요가 있을 때, 익명 클래스의 객체가 동적으로 생성됩니다.
익명 클래스는 코드를 간결하게 만들어 줍니다.