자바에서 클래스는 멤버로 필드, 생성자, 메소드를 갖는다.
이 구성 멤버들은 생략되거나 복수 개가 작성될 수 있다.
Field
)필드는 클래스에 포함된 변수를 의미한다.
Constructor
)생성자는 객체 생성 시 초기화를 담당한다.
new
연산자로 호출되는 특별한 중괄호 {}
블록이다.Method
)메소드는 어떠한 특정 작업을 수행하기 위한 명령문의 집합이다.
필드는 다음과 같이 객체의 고유 데이터, 상태 정보, 부품 객체를 저장한다.
static variable
): 클래스 영역에 위치한 변수 중 static
키워드를 가지는 변수instance variable
): 클래스 영역에 위치한 변수 중 static
키워드를 가지지 않는 변수local variable
): 메소드나 생성자 초기화 블록 내에 위치한 변수class Car {
static int modelOutput; //클래스 변수
String modelName; //인스턴스 변수
void method() {
int something = 10; //지역 변수
}
}
📌 클래스 변수, 인스턴스 변수, 지역 변수 비교
shared variable
)라고도 한다.📌 필드 타입별 기본 초기값
단순히 필드 이름으로 읽고 변경하면 된다.
우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야 한다.
→ 필드는 객체에 소속된 데이터이므로 객체가 존재하지 않으면 필드도 존재하지 않기 때문이다.
//Car 클래스
public class Car {
//필드
int speed;
//생성자
Car() {
speed = 0;
}
//메소드
void method(...) {
speed = 10;
}
}
Car
클래스의 speed
필드는 생성자와 메소드에서 변경이 가능하다. //Person 클래스
void method() {
//Car 객체 생성
Car myCar = new Car();
//필드 사용
myCar.speed = 60;
}
Person
클래스에서 Car
클래스의 speed
필드값을 사용하려면 Car
객체를 우선 생성해야 한다!이것이 자바다 책
http://tcpschool.com/java/java_class_component
http://tcpschool.com/java/java_member_field