Code States | 내부 클래스

yeonk·2022년 6월 1일
0

codestates-backend-bootcamp

목록 보기
17/19
post-thumbnail

1. 내부 클래스(Inner Class)


클래스 내부에 선언된 클래스
클래스간 연관이 있을 때 사용

  • 클래스간 멤버들에 접근이 쉬움

  • 코드의 복잡성 감소

  • 예약어에 따라 유형 분류

    • 인스턴스 내부 클래스(instance inner class)

    • 정적 내부 클래스(static inner class)

    • 지역 내부 클래스(local inner class)

    • 익명 내부 클래스(anonymous inner class)





2. 멤버 내부 클래스


인스턴스 내부 클래스, 정적 내부 클래스가 해당

  • 외부 클래스의 멤버변수 선언 위치에서 선언함



인스턴스 내부 클래스

  • 멤버 형태로 존재

  • 외부 클래스의 모든 멤버에 접근 가능

  • 외부 인스턴스, 외부 전역 변수 사용 가능

  • 외부 클래스 생성 후 사용 가능





정적 내부 클래스

  • 외부 클래스 생성과 무관하게 사용

  • static 예약어 사용

  • 외부 전역 변수 사용 가능





3. 지역 내부 클래스


메서드 내에서 정의되는 클래스

  • 정의된 메서드 내부에서만 사용 가능

  • 정적 클래스 지정 불가





4. 익명 내부 클래스


익명의 내부 클래스

  • 클래스 선언과 객체 생성이 동시에 이루어짐

  • 일회성 클래스

  • 하나의 객체만 생성 가능

  • 지역 내부 클래스와 유사하기 때문에, 지역 내부 클래스를 일회성으로 사용하고 싶은 경우 사용

0개의 댓글