개발/Java

JAVA_13_내부 클래스

onivv 2024. 7. 16. 13:58
반응형

#1 내부 클래스 (중첩 클래스)

▶ 내부 클래스란?

  • 두 클래스 간에 서로 쉽게 접근하여 사용할 수 있도록 만든 것
  • 보통 바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 함
  • 내부 클래스에서도 접근 제한자를 부여해, 클래스의 접근에 대한 기능을 제한할 수 있음
  • < 장점 >
    • 두 클래스 멤버들 간에 손쉽게 접근 가능
    • 불필요한 클래스를 감춰 코드의 복잡성을 줄일 수 있음
public class OuterClass {
	class InnerClass {
	}
}

 

#2 내부 클래스 종류

 선언된 위치별 내부 클래스 종류

메서드 설명
인스턴스 클래스 외부 클래스의 멤버 변수와 같은 위치에 선언
주로 외부 클래스의 멤버 변수와 관련된 작업에 사용될 목적으로 선언
외부 클래스가 반드시 선언된 후, 인스턴스 클래스 생성
정적 클래스 외부 클래스의 멤버 변수와 같은 위치에 선언
외부 클래스의 클래스 변수와 같이 static 키워드가 부여
인스턴스 클래스와 다르게 외부 클래스 객체를 생성하지 않아도 선언 가능
지역 클래스 외부 클래스의 메서드 내부에서 선언
메서드 영역에서 선언되기 때문에 메서드 내부에서만 사용 가능

 

#3 익명 클래스

  • 다른 내부 클래스와는 달리 이름이 없는 클래스
  • 클래스의 선언과 객체의 생성을 동시에 하므로 단 한번만 사용 가능
  • 오직 하나의 객체만을 생성할 수 있는 일회용 클래스
  • 보통 인터페이스를 상속하지 않고, 일회성으로 기능을 구현해 사용할 때 주로 사용
반응형

'개발 > Java' 카테고리의 다른 글

JAVA_15_기본 API 클래스  (1) 2024.07.16
JAVA_14_예외 처리  (1) 2024.07.16
JAVA_12_추상 클래스 & 인터페이스  (1) 2024.07.16
JAVA_11_다형성 & 타입 변환  (1) 2024.07.16
JAVA_10_상속  (0) 2024.07.16