개발의 시작과 끝

2020.05.31 / Day - 46 자바 내부 클래스 본문

풀스택/자바 공부, 복습

2020.05.31 / Day - 46 자바 내부 클래스

개발지혜 2020. 5. 31. 19:05

46일차

 

내부클래스

클래스 내에 선언된 클래스로, 두 클래스가 서로 긴밀한 관계가 있을 때 내부 크래스를 사용한다.

한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스 멤버들 간에 서로 쉽게 접근 할 수 있고,

외부에는 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있다는 장점이 있다.

class A { // 외부 클래스
	class B { // 내부 클래스
    }
}

내부 클래스를 선언할 때 내부 클래스는 감싸고 있는 외부클래스를 제외한

다른 클래스에서 잘 사용되지 않는 것이어야한다.

외부 클래스가 아닌 다른 클래스에서 내부클래스에 접근해야 한다면

내부 클래스로 선언해서는 안 되는 클래스를 내부 클래스로 선언했다는 의미이다.

 

내부클래스의 종류와 특징

내부 클래스 특징
인스턴스 클래스
(Instance class)
외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 인스턴스 멤버처럼 다뤄진다.
주로 외부 클래스의 인스턴스멤버들과 관련된 작업에 사용될 목적으로 선언된다.
스태틱 클래스
(static calss)
외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 static멤버처럼 다뤄진다.
주로 외부 클래스의 static멤버, 특히 static메서드에서 사용될 목적으로 선언된다.
지역 클래스
(local class)
외부 클래스의 메서드나 초기화 블럭 안에 선언하며, 선언된 영역 내부에서만 사용될 수 있다.
익명 클래스
(anonymous class)
클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스(일회용)

 

 

참조

- https://pridiot.tistory.com/52?category=869931