객체의 속성: 필드
필드의 분류
필드의 초기값과 초기화
- 사용자 정의 클래스는 초기값을 제공하지 않으면 기본 값으로 초기화한다.
- 초깃값 제공 방법: 필드타입 필드명 = 값;
필드에 접근
-
외부에서:
Car car = new Car();
car.color = "blue";
-
내부에서:
double brakePedal(){
speed = 0;
return speed;
}
메서드 내에서 필드 speed에 바로 접근한다.
객체의 행위: 메서드
- 메서드는 객체의 행위를 의미하고, 객체 간 협력을 위해 사용한다.
메서드 선언
[Return type] methodName(매개변수, ...) {
}
- Return type은 메서드 실행 후 반환 값의 타입을 의미한다.
- 매개변수는 전달하려는 값을 받는 변수다.
메서드 호출
- 메서드 호출은 메서드 로직을 실행한다는 의미다.
- 객체를 생성한 후 메서드를 사용한다.
메서드 오버로딩
- 메서드 오버로딩은 하나의 메서드 이름으로 여러 기능을 구현한다.
오버로딩의 조건
- 메서드 이름이 같으나, 매개변수의 개수, 타입, 순서가 다르다.
- 반환 값 타입만 다르면 오버로딩 할 수 없다.
- 접근 제어자만 다르면 오버로딩 할 수 없다.
오버로딩의 장점
- 하나의 메서드 이름으로 여러 동작을 정의한다.
- 메서드 이름을 절약한다.
기본형 & 참조형 매개변수
- 기본형: 메서드 호출 시 값 복사로 전달하므로 원본 값은 변하지 않는다.
- 참조형: 메서드 호출 시 주소 복사로 전달하므로 원본 값 변경 가능하다.