본문 바로가기
👨‍💻 2. 웹개발_Back end/2-1 Java

[JAVA] 06-2 필드

by 달님🌙 2021. 8. 2.
반응형

 

 

필드 선언

 

- 생성자 선언과 메소드 선언의 앞과 뒤 어디든 필드를 선언할 수 있다.

- 생성자와 메소드 블록 내부에서 선언이 된다면 로컬 변수가 된다.

- 필드는 변수 선언과 마찬가지로 선언 시 타입을 지정해준다. 

- 초기값을 생략해줄 수 있다. (참조타입이며 초기값이 지정되지 않은 필드는 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

댓글