2024-11-06


su1 >>> 50
su2 >>> 133
package inner;
/*
* 3. 중첩 클래스(inner class) 선언
*
* 중첩 클래스(inner class) ?
* 1. 클래스 내부에 또 다른 클래스 선언.
* ==> 두 클래스가 서로 다른 긴밀한 관계로 연결되어
* 있는 경우에 사용함.
* 두 클래스 멤버 간에 서로 쉽게 접근할 수 있다는
* 장점이 있음.
* 2. 내부 클래스를 하나의 멤버로 사용할 수 있음.
* 3. 클래스 멤버 : 멤버변수, 멤버 메서드, 외부클래스, 내부클래스
* 4. 내부클래스 객체 생성 방법
* 형식)
* 외부클래스명.내부클래스명 참조변수 =
* 외부클래스참조변수.new 내부클래스생성자();
*
* [내부클래스의 특징]
* - 내부 클래스는 외부 클래스 멤버를 마치 자기 자신처럼
* 사용이 가능함.
* ==> 외부클래스 멤버의 데이터를 변경 시킬 수도 있음.
* - 외부클래스의 접근지정자가 private 접근지정자 일지라도
* 접근이 가능함.
* - 내부클래스의 접근은 반드시 외부클래스를 통하여 접근해야 함.
*/
class Outer { // 외부 클래스
final int su1 = 50;
private int su2 = 34;
class Inner { // 내부 클래스
void output() {
//su1 = 234; final 이기에 변경 불가
su2 = 133;
System.out.println("su1 >>> " + su1);
System.out.println("su2 >>> " + su2);
}
} // inner 클래스 end
} // Outer 클래스 end
public class Inner_02 {
public static void main(String[] args) {
// 중첩클래스의 객체 생성 방법
// 1. 외부 클래스의 객체가 먼저 생성이 되어야 함.
Outer outer = new Outer();
// 2. 내부클래스 객체 생성.
// 형식) 외부클래스명.내부클래스명 참조변수 =
// 외부클래스참조변수.new 내부클래스생성자();
Outer.Inner inner = outer.new Inner();
inner.output();
}
}'Java > 기초 내용 정리' 카테고리의 다른 글
| Java(UtilClass)_Wrapper_01 (0) | 2024.11.06 |
|---|---|
| Java(UtilClass)_Singleton_01 (0) | 2024.11.06 |
| Java(UtilClass)_Inner_01 (3) | 2024.11.06 |
| Java(UtilClass)_Object_03 (0) | 2024.11.06 |
| Java(UtilClass)_Object_02 (0) | 2024.11.06 |