본문 바로가기

JAVA

클래스의 구성 멤버(필드)

반응형

 

필드(Field)

객체의 데이터가 저장되는곳

 

생성자(Constructor)

객체 생성시 초기화 역할 담당

 

메소드(Method)

객체의 동작에 해당하는 실행 블록

 

 

클래스에는 객체가 가져야 할 구성 멤버가 선언된다, 구성 멤버에는 필드, 생성자 메소드가 있다. 이 구성 멤버들은 생략되거나 복수 개가 작성될수 있다.

 

 필드는 객체의 고유 데이터 ,부품 객체, 상태 정보를 저장하는 곳이다. 선언 형태는 변수와 비슷하지만 필드를 변수라고 부르지는 않는다. 변수는 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸된다 하지만 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다.

 

생성자는 new 연산자로 호출되는 특별한 중괄호{} 블록이다. 생성자의 역할은 객체 생성 시 초기화를 담당한다. 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 한다. 생성자는 메소드와 비슷하게 생겼지만, 클래스 이름으로 되어 있고 리턴 타입이 없다.

 

메소드는 객체의 동작에 해당하는 중괄호{} 이다 중괄호 블록은 이름을 가지고 있는데, 이것이 메소드 이름이다. 메소드를 호출하게 되면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행된다. 메소드는 필드를 읽고 수정하는 역할도 하지만 다른 객체를 생성해서 다양한 기능을 수행하기도 한다. 메소드는 객체 간의 데이터 전달의 수단으로 사용된다. 외부로부터 매개값을 받을 수 도 있고, 실행후 어떤 값을 리턴할수도 있다.

 

 

 

 

필드

 

필드는 객체의 고유 데이터 ,객체가 가져야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳이다. 자동차 객체를 예로 들어 보면 제작회사, 모델 색깔, 최고속도 고유 데이터에 해당하고 현재 속도, 엔진회전수는 상태 데이터 해당한다. 그리고 차체, 엔진 , 타이어는 부품에 해당한다. 따라서 자동차 클래스를 설계할 때 이 정보들은 필드로 선언되어야 한다.

필드의 초기값은 필드선언 시 주어질수도 있고 , 생략될수도 있다. 초기값이 지정되지 않은 필드들은 객체 생성 시 자동으로 기본 초기값으로 설정된다. 필드의 타입에 따라 초기값이 다른데, 다음표는 타입별 기본 초기값을 보여준다.

 

분류 데이터타입 초기값
기본타입 정수타입 byte 0
char \u0000(빈공백)
short 0
int  0
long 0L
실수타입  float 0.0F
double 0.0
논리타입 boolean false
참조타입 배열 null
클래스(String 포함) null
인터페이스 null

 

 

 

car클래스는 speed 필드 선언시 초기값을 주지 않았다 그러나 출력해보면 기본값인 0이 들어 있다는 것을 볼수 있다. 다음 예제는 여러 가지 타입의 필드가 어떤 값으로 자동 초기화되는지 확인시켜준다.

 

 

 

 

 

반응형

'JAVA' 카테고리의 다른 글

클래스의 구성 멤버(메소드)  (0) 2020.11.11
클래스의 구성 멤버(생성자)  (0) 2020.11.11
객체 생성과 클래스 변수  (0) 2020.11.10
객체와 클래스  (0) 2020.11.10
Thread 생성  (0) 2020.11.09