첫 번째 형태는 클래스 안에 인스턴스 변수, 즉 필드를 선언하는 위치에 선언하는 경우입니다. 이런 경우를 보통 중첩 클래스 혹은 인스턴스 클래스라고 합니다. 어떤 경우인지 코드를 통해 살펴보겠습니다. 먼저 InnerExam1 클래스를 만듭니다.
package javaStudy;
public class InnerExam1 {
public static void main(String[] args) {
}
}
여기서 필드를 선언하는 위치에 클래스를 선언합니다. Cal이라는 클래스를 선언합니다.
package javaStudy;
public class InnerExam1 {
class Cal{
int value = 0; ---①
public void plus() { ---②
value++;
}
}
public static void main(String[] args) {
}
}
클래스를 배울 때 클래스 안에 필드를 선언하거나 메서드를 정의했죠? 지금도 클래스를 선언하는 것이므로 ①과 같이 필드를 선언하거나, ②와 같이 메서드를 정의할 수 있습니다.