필드 : 객체의 고유데이터, 객체가 가져야할 부품, 객체의 현재 상태 데이터 등을 저장하는 곳 ex) 자동차 객체의 고유데이터(제작회사, 모델명, 최고속도 등), 상태데이터(현재 속도), 부품데이터(엔진, 핸들)
필드 선언 : 필드는 클래스 {} 블록 어디서든 존재 가능. 그러나 생성자와 메소드 중괄호 블록 내부에는 선언 불가.(생성자와 메소드 중괄호 내부에 선언 시 로컬변수가 된다.) 유의할 점은 필드 선언이 변ㅅ의 선언형태와 유사하다는 점이지만, 변수가 아니라는 점이다. 타입은 필드에 저장할 데이터의 종류를 결정하는데, 타입에는 기본타입과 참조타입이 모두 올 수 있다. 또한 필드의 초기값은 주어질 수도, 생략될 수도 있는데 초기값이 지정되지 않은 필드는 객체 생성 시 자동으로 기본 초기값을 설정한다.
필드 타입별 기본 초기값
필드 사용 : 필드 값을 읽고 변경하는 작업. 클래스 내부의 생성자와 메소드에서는 바로 사용이 가능하나, 클래스 외부에서 사용할 경우에는 반드시 객체를 생성하고 차모 변수를 통해 사용해야 한다.
Car myCar = new Car(); -> 클래스로 선언된 변수에 new연산자가 생성한 객체의 번지를 저장한다. new연산자의 뒤에는 클래스()형태의 생성자가 온다. 생성자는 클래스의 구성멤버(필드,생성자,메소드)로 객체 생성 시 초기화 역할을 담당하며 클래스와 동일한 이름을 가져야 한다.
publicclass Car { //필드 String company = "현재자동차"; String model = "그랜저"; String color = "검정"; intmaxspeed = 350; intspeed; }