Skip to main content

익명의 내면의 수업은 무엇입니까?

객체 지향 컴퓨터 프로그래밍에서 익명의 내부 클래스는 메소드 내부에서 선언되지만 이름이없는 클래스입니다.익명의 내부 클래스에는 액세스 할 수있는 변수의 범위에 대한 제한을 포함하여 일반 클래스와 다르게 만드는 몇 가지 제한이 있습니다.익명의 내부 클래스를 사용하면 소스 코드를 더 읽기 쉽게 만들 수있는 매우 구체적인 상황이 있지만, 별도의 클래스 생성이이를 복잡하게 할 수있는 캡슐화를 시행하는 데 주로 사용됩니다.(OOP) 물체와 그 구성 요소는 어떤 식 으로든 보호되고 객체에 묶여 있어야합니다.익명의 내부 클래스와 일반적으로 내부 클래스는 특히 복잡한 객체에 대한 캡슐화를 실현하는 데 도움이됩니다.별도의 외부 외부에 의존하는 클래스를 만들어서 인위적으로 그리고 잠재적으로 일부 구성 요소를 노출시키는 클래스를 만들지 않고, 익명의 내부 클래스는 두 가지를 견고하게 묶을 수 있습니다.단일 상속의 제한을 극복하는 데 도움이됩니다.객체가 한 클래스에서 상속되지만 다른 클래스에 액세스 해야하는 경우 내부 클래스를 즉석에서 생성 한 다음 적절한 핸들러에게 전달할 수 있습니다.이 기술은 콜백 및 이벤트 리스너에게 일반적입니다.유일한 대안은 하나 또는 두 개의 메소드 만 무시하는 전체 2 등급을 만드는 것입니다.

익명의 내부 클래스는 캡슐화를 중단하고 범위를 시행하기위한 몇 가지 제한 사항이 있습니다.주요 제한 사항은 익명의 내부 클래스가 해당 변수가 최종으로 선언되지 않는 한 메소드의 변수에 액세스 할 수 없다는 것입니다.내면의 클래스는 계급의 수명을 넘어서서 계속 작동 할 수 있기 때문입니다.랩핑 클래스의 변수는 생명이 끝나면 파괴되므로 내부 클래스가 보유한 참고 문헌은 즉시 유효하지 않을 것입니다.이에 대한 유일한 예외는 인스턴스를 넘어서 존재하기 때문에 최종 변수입니다. 익명 내부 클래스에 대한 가장 구체적인 용도 중 하나는 코드 보호입니다.많은 OOP 언어는 반사라는 메커니즘을 제공합니다.반사를 통해 프로그램은 다른 클래스를 해부하고 코드 자체가 아닌 멤버 변수 및 메소드가 무엇인지 확인할 수 있습니다.익명의 내부 클래스를 사용함으로써 내부 클래스의 내용은 반사로부터 보호되고 더 큰 클래스의 내부 작업은 효과적으로 숨겨 질 수 있습니다.