1. 필드
- 객체의 데이터(고유 특성)가 저장되는 곳
- 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 정보를 저장하는 곳
- 선언 형태가 변수와 비슷하지만, 필드를 변수라고 부르지 않습니다.
예시
public class Computer {
// 필드 (고유 데이터)
String modelName = "MacBook Air M1";
String adminName;
int serialNumber;
// 필드 (상태)
boolean power;
// 필드 (부품)
Cpu cpu = new IntelCpu();
Gpu gpu = new NvidiaGpu();
Memory memory = new SamsungMemory();
}
2. 필드 선언
- 클래스 중괄호 {} 블록 내 어디서든 선언할 수 있습니다.
- 생성자와 메소드 중괄호 블록 내부에 선언된 것은 모두 로컬 변수가 됩니다.
- 기본 타입, 참조 타입을 이용하여 필드를 선언합니다.
- 필드의 초기값은 필드 선언 시 주어질 수도 있고, 생략될 수도 있습니다.
- 초기값이 지정되지 않은 필드들은 객체 생성 시 자동으로 기본 초기값으로 설정됩니다.
필드 기본 초기값
필드 선언 시 초기값이 지정되지 않은 필드들은 객체 생성 시 다음과 같은 초기값으로 설정됩니다.
3. 필드 사용
- 필드 사용 = 필드 값을 읽고, 변경하는 작업
- 필드를 사용하려면 클래스를 이용해 객체를 생성해야 합니다. (객체가 존재해야 필드 또한 존재합니다.)
- 필드를 사용할 경우 . 연산자를 이용하여 직접 사용해도 되지만 메소드를 사용해서 읽고 변경하는 것을 권장합니다.
- getter/setter 메소드, 생성 메소드 비즈니스 로직 메소드
예시
[Computer 클래스]
public class Computer {
// 필드
String modelName = "MacBook Air M1";
int serialNumber;
//==getter 메소드==//
public String getModelName() {
return modelName;
}
public int getSerialNumber() {
return serialNumber;
}
//==setter 메소드==//
public void setModelName(String modelName) {
this.modelName = modelName;
}
public void setSerialNumber(int serialNumber) {
this.serialNumber = serialNumber;
}
}
[실행 클래스]
public class Main {
public static void main(String[] args) {
// 객체 생성
Computer computer = new Computer();
// 필드 값 읽기
System.out.println(computer.getModelName()); // MacBook Air M1
System.out.println(computer.getSerialNumber()); // 기본 초기값으로 설정됨 (int = 0)
// 필드 값 변경
computer.setSerialNumber(3254);
System.out.println(computer.getSerialNumber()); // 3254
}
}
'Backend > 객체 지향 프로그래밍' 카테고리의 다른 글
[Java] 클래스의 구성 멤버 (메소드) (0) | 2022.04.07 |
---|---|
[Java] 클래스의 구성 멤버 (생성자) (0) | 2022.04.06 |
[Java] 객체와 클래스 (Object & Class) (0) | 2022.04.04 |
[Java] 객체 지향 프로그래밍의 특징 (자바 소스 코드) (0) | 2022.04.03 |
[Java] 객체 지향 프로그래밍 (Object Orientied Programming) (0) | 2022.04.02 |