이전시간 프리 온빌딩 기간동안에 공부했던 책에서 이어서 공부한다.
그러닉 이 글의 이전글을 읽어보려면 사실상 프리온빌딩 때 썻던 글부터 차례차례 읽어보면 된다.
객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳이다.
자동차를 예시로 들면 아래와 같다.
고유 데이터 : 제작회사, 모델, 색깔
상태 데이터 : 현재속도, 엔진 회전 수
부품 : 차체, 엔진, 타이어
필드 선언은 클래스 중괄호
{}
블록 어디서든 존재할 수 있다.
생성자 선언과 메소드 선언의 앞과 뒤 어떤 곳에서도 필드 선언이 가능하다.
생성자와 메소드 중괄호 블록 내부에 선언된 것으 모두 로컬 변수가 된다.
타입은 필드에 저장할 데이터의 종류를 결정한다.
다음은 그 예시와 초기값이 지정되지 않은 필드의 객체 생성 시 자동으로 기본 초기값으로 설정된다.
String company = "현대자동차";
String model = "그랜저";
int productionYear;
필드를 사용한다는 것은 필드값을 읽고 변경하는 작업이다.
클래스 내부가 아닌 외부에서 사용할 경우 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야 한다.
위 그림을 보면 필드는 생성자와 모든 메소드에서 변경이 가능하다.
다만, 외부 클래스에서 필드값을 사용하려면 Car 객체를 생성해야 한다.
Car myCar = new Car();
myCar 변수가 / Car 객체를 참조 / (.) 연산자를 통해 speed 필드에 접근
위 같은 순서로 진행된다고 보면 된다.
아래 사진처럼 직접 테스트 해 보았다.
초기값을 주지 않으면 들어가는 초기값이 다른것을 아무런 값을 입력해주지 않은 현재 속도를 출력해보면서 알 수 있다.(결과값 : 0)
필드 선언 : 클래스 중괄호 {} 블록 어디서든 선언하나, 생성자와 메소드 내부에선느 선언할 수 없다.
필드 사용 : 클래스 내부의 생성자와 메소드에서 바로 사용이 가능한, 클래스 외부에서 사용할 경우에는 반드시 객체를 생성하고 참조 변수를 통해 사용해야 한다.