백엔드/JAVA_이론공부

JAVA_내부 클래스

반 불혹 2022. 9. 18. 20:56

내부 클래스

내부클래스는 단순하게, 클래스 안에 클래스를 선언 한것이다. 

뭔가 복잡하게 생각 할 수 있는데, 사실 클래스가 메서드, 변수를 담아놓고 객체를 만드는 것인데, 얘도 그런거라고 생각하면 된다. 

사실 우리가 자바 프로그래밍을 할 때 맨 위에 알아서 public class (클래스명(파일명)) 이캐캐 나오는대, 사실 우리는 계속 이너클래스를 쓰고 있었는데 그냥 몰랏다 이렇게 생각하면 쉽게 받아들일 수 있다.

작성예시

class Outer { // 외부 클래스
	
	class Inner {
		// 인스턴스 내부 클래스	
	}
	
	static class StaticInner {
		// 정적 내부 클래스
	}

	void run() {
		class LocalInner {
		// 지역 내부 클래스
		}
	}
} 

위에서 보다싶이, 클래스 안에 클래스를 3개 만들었다. (총 4개)

  • 제일 바깥에 있는 클래스 : 외부 클래스

  • 안에 있는 클래스 : 인스턴스 내부 클래스 / 외부클래스의 인스턴스 변수를 사용 가능

  • static 붙으면서 안에 있는 클래스 : 정적 내부 클래스 / 외부클래스의 정적 변수를 사용 가능

  • 매서드 안에 있는 클래스 : 지역 내부 클래스 (매서드가 작동할때만 잠깐 생기는 일회용 클래스)

 

'백엔드 > JAVA_이론공부' 카테고리의 다른 글

JAVA_메서드 오버라이딩  (0) 2022.09.18
JAVA_상속  (0) 2022.09.18
JAVA_this(), this  (0) 2022.09.18
JAVA_생성자  (0) 2022.09.18
JAVA_메서드 오버로딩(overloading)  (1) 2022.09.04