내부 클래스(Inner Class)

Backend kwon·2023년 4월 17일

내부 클래스(Inner Class)

  • 클래스 내에 선언된 클래스

  • 내부 클래스를 사용하면 외부 클래스의 멤버들에 쉽게 접근할 수 있고, 코드의 복잡성을 줄일 수 있다.

  • 외부적으로 불필요한 데이터를 감출 수 있어 캡슐화(encapsulation)를 달성하는 데 유용

  • 외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용의 편의성을 고려하여 만들어진 문법 요소

 

인스턴스 내부 클래스

  • 멤버 내부 클래스

  • 인스턴스 내부 클래스는 객체 내부에 멤버의 형태로 존재

  • 외부 클래스의 모든 접근 지정자의 멤버에 접근할 수 있다.

  • 인스턴스 내부 클래스는 반드시 외부 클래스를 생성한 이후에 사용해야 한다
    (정적 변수와 정적 메서드는 인스턴스 내부 클래스에서 선언할 수 없다.)

 

정적 내부 클래스

  • 멤버 내부 클래스

  • static 키워드를 사용

  • 내부 클래스가 외부 클래스의 존재와 무관하게 정적 변수를 사용할 수 있다.

 

지역 내부 클래스

  • 클래스의 멤버가 아닌 메서드 내에서 정의되는 클래스

  • 지역 변수와 유사하게 메서드 내부에서만 사용가능

  • 일반적으로 메서드 안에서 선언 후에 바로 객체를 생성해서 사용

profile
백엔드개발자를 향해서

0개의 댓글