중첩 클래스, 내부 클래스 (Static, Inner)
·
Java
클래스 안에 클래스를 중첩해서 정의할 수 있는데 이것을 중첩 클래스라 한다. 중첩 클래스에도 종류가 있다. 총 4가지가 있는데 크게 2가지로 분류한다.1. 정적 중첩 클래스 2. 내부 클래스 종류 - 내부 클래스 - 지역 클래스 - 익명 클래스 중첩 클래스를 정의하는 위치는 변수의 선언 위치와 같다.- 정적 중첩 클래스 -> 정적 변수와 같은 위치- 내부 클래스 -> 인스턴스 변수와 같은 위치- 지역 클래스 -> 지역 변수와 같은 위치 중첩과 내부의 차이는 무엇일까?- 중첩(Nested): 어떤 다른 것이 내부에 위치하거나 포함되는 구조적인 관계 (즉 내 안에 있지만 내 것이 아닌 것, 큰 나무 상자안에 전혀 다른 나무 상자를 넣는다.)- 내부(Inner): 나의 내부에 있는 나를 구성하는 요소(나의 심..
중첩 클래스 / 인스턴스 멤버 클래스 / 정적 멤버 클래스
·
Java
중첩클래스 중첩클래스란 클래스 내부에 선언하는 클래스이다. 중첩클래스의 장점- 클래스의 멤버를 쉽게 사용할 수 있음- 외부에 중첩 관계를 감춤으로써 코드 복잡성을 줄일 수 있음 중첩클래스를 선언하는 위치는 두가지로 분류된다. 1. 멤버 클래스- 인스턴스 멤버 클래스- 정적 멤버 클래스선언 위치에 따른 분류선언 위치객체 생성 조건멤버 클래스인스턴스 멤버 클래스class A {    class B {..}}A 객체를 생성해야만 B 객체 생성 가능정적 멤버 클래스class A{    static class B{...}}A 객체 생성없이B 객체 생성 가능로컬 클래스class A{    void method() {        class B {....}    }}method가 실행할 때만B 객체 생성 가능 중첩 ..