내부 클래스의 장점 - 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. - 코드의 복잡성을 줄일 수 있다.(캡슐화)
실습
내부 클래스 사용 X)
class A {
int i = 100;
B b = new B();
}
class B{
void method(){
A a = new A();
System.out.println(a.i);
}
}
class C{
B b = new B();
}
public class Main {
public static void main(String[] args) {
B b = new B();
b.method();
}
}
출력
내부 클래스 사용 O) 주석 참고
ch7-43,44 내부 클래스의 종류와 특징
- 내부 클래스 종류의 유효 범위(scope)는 변수와 동일
instance 변수, static 변수 , local 변수 성질 생각하기
public class Example {
static int staticVariable = 10; // 스테틱 변수
int instanceVariable; // 인스턴스 변수
// 생성자
public Example(int instanceVariable) {
this.instanceVariable = instanceVariable;
}
// 인스턴스 메서드
public void instanceMethod() {
// 인스턴스 메서드에서 스테틱 변수 사용
System.out.println("Inside instance method: " + staticVariable);
}
public static void main(String[] args) {
Example obj = new Example(20);
// 인스턴스를 통해 인스턴스 변수에 접근
System.out.println("Accessing instance variable through instance: " + obj.instanceVariable);
obj.instanceMethod(); // 인스턴스 메서드 호출
}
}