새소식

JAVA

자바 기초 : 필드

  • -

핵심개념

  • 필드 : 객체의 고유데이터, 객체가 가져야할 부품, 객체의 현재 상태 데이터 등을 저장하는 곳
    ex) 자동차 객체의 고유데이터(제작회사, 모델명, 최고속도 등), 상태데이터(현재 속도), 부품데이터(엔진, 핸들)

  • 필드 선언 : 필드는 클래스 {} 블록 어디서든 존재 가능. 그러나 생성자와 메소드 중괄호 블록 내부에는 선언 불가.(생성자와 메소드 중괄호 내부에 선언 시 로컬변수가 된다.) 유의할 점은 필드 선언이 변ㅅ의 선언형태와 유사하다는 점이지만, 변수가 아니라는 점이다.
    타입은 필드에 저장할 데이터의 종류를 결정하는데, 타입에는 기본타입과 참조타입이 모두 올 수 있다. 또한 필드의 초기값은 주어질 수도, 생략될 수도 있는데 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값을 설정한다.

필드 타입별 기본 초기값

 

  • 필드 사용 : 필드 값을 읽고 변경하는 작업. 클래스 내부의 생성자와 메소드에서는 바로 사용이 가능하나, 클래스 외부에서 사용할 경우에는 반드시 객체를 생성하고 차모 변수를 통해 사용해야 한다.

    Car myCar = new Car();
    -> 클래스로 선언된 변수에 new연산자가 생성한 객체의 번지를 저장한다. new연산자의 뒤에는 클래스()형태의 생성자가 온다. 생성자는 클래스의 구성멤버(필드,생성자,메소드)로 객체 생성 시 초기화 역할을 담당하며 클래스와 동일한 이름을 가져야 한다.

public class Car {
   //필드
   String company = "현재자동차";
   String model = "그랜저";
   String color = "검정";
   int maxspeed = 350;
   int speed;
}

--------------------------------------------------------------------------

public class CarExmple {
   public static void main(String[] args) {
   //객체 생성
   Car myCar = new Car();


   //필드값 읽기
   System.err.println("제작회사 : " + myCar.company);
   System.err.println("모델명 : " + myCar.model);
   System.err.println("색깔 : " + myCar.color);
   System.err.println("최고속도 : " + myCar.maxspeed);
   System.err.println("현재속도 : " + myCar.speed);


   //필드값 변경
   myCar.speed = 60;
   System.out.println("수정된 속도 : " + myCar.speed);
   }
}
실행결과 : 
제작회사 : 현재자동차
모델명 : 그랜저
색깔 : 검정
최고속도 : 350
현재속도 : 0
수정된 속도 : 60

 

'JAVA' 카테고리의 다른 글

자바 기초 : 메소드  (0) 2023.03.06
자바 기초 : 생성자  (0) 2023.03.03
자바 기초 : 객체 지향 프로그래밍  (0) 2023.03.02
자바 기초 : 열거 타입  (0) 2023.02.24
자바 기초 : 배열  (0) 2023.02.24
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.