package class01;
// 자동차
class Car {
String name;
int speed;
int maxSpeed;
//void speedUp() { //멤버함수, 메서드
//1. 기본형 void 객체명()
//2. 기능구현 speed+10;
//3. input,output이 올바른지 체크
//speed+=10;
//}
void speedUp(int speed) {
this.speed += speed; // 사람이 얼마나 올릴지 외부에서 값을 받아와야함
if (this.speed > this.maxSpeed) {
this.speed = this.maxSpeed;
System.out.println(this.name + "님 과속!");
}
}
void showInfo() {
System.out.println(this.name + "님의 현재 차량 상태:[" + this.speed + "/" + this.maxSpeed + "]");
}
// 생성자 오버로딩
Car(String name) {
this.name = name;
this.speed = 0;
this.maxSpeed = 120;
}
Car(String name, int speed, int maxSpeed) {
this.name = name;
this.speed = speed;
this.maxSpeed = maxSpeed;
}
}
public class Test01 {
public static void main(String[] args) {
Car car1 = new Car("홍길동", 0, 200); // 기본(디폴트) 생성자
// 멤버변수가 내가 원하는 값대로 초기화되지 XXX
// -> 생성자를 사용하는 이유: 멤버변수를 원하는 값으로 초기화 가능+ ("강제" -> 사용자(개발자)에게 가이드라인을 준다.)
Car car2 = new Car("아리");
car1.speedUp(130);
car2.speedUp(130);
car1.showInfo();
car2.showInfo();
}
}