반응형
필드 선언
- 생성자 선언과 메소드 선언의 앞과 뒤 어디든 필드를 선언할 수 있다.
- 생성자와 메소드 블록 내부에서 선언이 된다면 로컬 변수가 된다.
- 필드는 변수 선언과 마찬가지로 선언 시 타입을 지정해준다.
- 초기값을 생략해줄 수 있다. (참조타입이며 초기값이 지정되지 않은 필드는 null을 기본 초기값으로 설정한다.)
필드 사용
- 필드를 사용할 때 주의할 점으로, 필드를 사용하기 전에 반드시 객체를 생성해주어야한다.
- 필드란, 객체에 소속된 데이터이다. 따라서 객체가 생성되지 않았다면 필드 또한 존재하지 않는다.
- 또한 객체를 생성한 후에도 객체로 접근할 수 있도록 도트(.) 연산자를 이용하여 필드나 메소드를 사용한다.
필드 예제
public class Car {
// 필드
String company = "현대자동차";
String model = "그랜저";
String color = "검정";
int maxSpeed = 350;
int speed;
}
public class CarExample {
public static void main(String[] args) {
// 객체 생성 (인스턴스)
Car myCar = new Car();
// 필드값 읽기
System.out.println("제작회사: " + myCar.company);
System.out.println("모델명: " + myCar.model);
System.out.println("색깔: " + myCar.color);
System.out.println("최고속도: " + myCar.maxSpeed);
System.out.println("현재속도: " + myCar.speed);
//필드값 변경
myCar.speed = 60;
System.out.println("수정된 속도: " + myCar.speed);
}
}
제작회사: 현대자동차
모델명: 그랜저
색깔: 검정
최고속도: 350
현재속도: 0 // 초기값 설정을 안해주었지만 0이 나온걸 보고 기본 초기값이 0으로 되어있음을 알 수 있음
수정된 속도: 60
필드의 기본 초기값
class FieldInitValue {
//필드
byte byteField;
short shortField;
int intField;
long longField;
boolean booleanField;
char charField;
float floatField;
double doubleField;
int[] arrField;
String referenceField;
}
public class FieldInitValueExample {
public static void main(String[] args) {
//객체 생성
FieldInitValue fiv = new FieldInitValue();
//필드값 읽기
System.out.println("fiv.byteField = " + fiv.byteField);
System.out.println("fiv.shortField = " + fiv.shortField);
System.out.println("fiv.intField = " + fiv.intField);
System.out.println("fiv.longField = " + fiv.longField);
System.out.println("fiv.booleanField = " + fiv.booleanField);
System.out.println("fiv.charField = " + fiv.charField); // char의 디폴트값은 지정되지 않음
System.out.println("fiv.floatField = " + fiv.floatField);
System.out.println("fiv.doubleField = " + fiv.doubleField);
System.out.println("fiv.arrField = " +fiv.arrField);
System.out.println("fiv.referenceField = " +fiv.referenceField); //null
}
}
fiv.byteField = 0
fiv.shortField = 0
fiv.intField = 0
fiv.longField = 0
fiv.booleanField = false
fiv.charField =
fiv.floatField = 0.0
fiv.doubleField = 0.0
fiv.arrField = null
fiv.referenceField = null
반응형
'👨💻 2. 웹개발_Back end > 2-1 Java' 카테고리의 다른 글
[JAVA] 06-4 메소드 (0) | 2021.08.02 |
---|---|
[JAVA] 06-3 생성자 (0) | 2021.08.02 |
[JAVA] 06-1 객체 지향 프로그래밍 (0) | 2021.07.30 |
[JAVA] 05-3 열거 타입 (0) | 2021.07.30 |
[JAVA] 05-2 다차원 배열 (0) | 2021.07.30 |
댓글