본문 바로가기

개발자노트

클래스)클래스 선언 복습

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();

	}

}