클래스의 전체적인 구조를 살펴보기 전에 클래스를 정의하는 방법부터 알아보자. 클래스는 class 키워드와 함께 클래스명을 표기한다. 클래스명은 대문자로 시작하는 것이 관례다.
🐸클래스의 정의
class 클래스명 {
...
}
클래스의 정의를 알아보았으니 다음과 같이 A라는 이름의 클래스를 포함하는 자바 소스 파일 A.java의 구조를 알아보자.
package ...; // 1 패키지
import ...; // 2 임포트
class 클래스명 {...} // 3 외부 클래스
클래스의 밖에 올 수 있는 3가지
public class A(파일명과 동일해야 함){
int a = 3; // 1 필드
double abc() {...} // 2 메서드
A() {...} // 3 생성자
class 클래스명 {...} // 4 이너 클래스
클래스의 안에 올 수 있는 4가지
}
자바 소스 파일은 클래스의 외부 구성 요소와 내부 구성 요소로 나눠 생각할 수 있다.
클래스 외부 구성 요소 살펴보기
클래스의 외부에는 다음 3가지 구성요소만 올 수 있다.
클래스 내부 구성 요소 살펴보기
클래스 내부의 구성 요소를 살펴보자. 내부에는 4가지의 구성 요소가 포함될 수 있다.
내부에 올 수 있는 4가지 구성 요소들 중 생성자를 제외한 3가지 요소를 '클래스의 멤버 member'라고 한다. 정리하면 클래스의 외부에는 3가지 종류, 내부에는 4가지 종류만 올 수 있으며, 이들 모두 또는 일부만 있어도 되고, 심지어 하나도 포함되지 않아도 문법적으로는 문제가 없다. 그러나 이들 이외의 요소가 한 글자라도 들어 있다면 컴파일러는 뒤도 안 돌아보고 오류를 발생시킬 것이다.
+) 접근 지정자 public 이란?
class 키워드 앞에 있는 public을 접근 지정자 라고 한다. 이는 다음에 자세히 다룰 것이므로 여기서는 class를 꾸며 주는 말 정도로만 생각하면 된다. 즉, 빨간색 사과 라는 표현에서 사과가 클래스라면 public은 빨간 정도의 의미를 지니고 있는 것이다. 다만 .java 파일 내에서 pulic은 최대 1개의 클래스에만 붙을 수 있으며 public이 붙은 클래스명이 파일명과 동일해야 한다는 정도는 꼭 기억하자.