public class Car {
private String color;
private int year;
// 생성자
public Car(String color, int year) {
this.color = color;
this.year = year;
}
}
Car myCar = new Car("Blue", 2023); // 이 경우는 정상적으로 동작합니다
Car myCar = new Car(2023, "Blue"); // 이 경우는 컴파일 오류를 발생시키지 않습니다
1) 기본 생성자가 존재
2) 하나의 생성자라도 만들어지면 기본 생성자는 사라짐
3) 반환타입이 없다.
메소드 이름이 같고, 매개변수(개수, 타입)가 다르면 생성자를 여러 개 만들 수 있게 해줌!! = 생성자 오버로딩
Q. 오버라이딩이랑 비교할 거리가 있긴 한가요?
Q. 생성자는 메소드인가요?
printLogo(): Samsung/@@@Apple@@@
trunOn():
- 갤럭시: Samsung 핸드폰이 켜졌습니다.
- 아이폰: @@@ Apple @@@ 핸드폰이 켜졌습니다.
trunOff():
갤럭시 & 아이폰 공통: 띠로띠로
- 동사로 시작하는 것이 좋다
(동사는 가능한 가장 쉬운 것이 좋다.)- 프로젝트 또는 클래스 내에서는 동사의 의미가 같다면 단어를 통일한다.
(ex. 조회: select, find, get, search, ...)- 메소드는 가능한 추출해내야 한다. = 메소드는 코드에 확신을 줍니다.