CarApp
자동차를 추상화하자
=자동차 설계도를 만들자
=자동차 클래스를 만들자
publid class Car
**멤버 상수
public static final String AUTO="자동";
public static final String MANUAL="수동";
**멤버 변수
String carModel;//차량모델
String carGear =AUTO;//차량 기어
int carYear;//차 연식
Person owner;//차량 소유주 어 이거 기본자료형 아니고 참조형이다!! 주의할것 인스턴스화필요해!
**멤버 메소드
void drive() {
System.out.println(owner.name+"가(이)"+carModel+"을(를) 운전한다.");
}////drive
효율메소드(한꺼번에 초기화 하기)
void initialize() {
carModel="제네시스";
carYear = 2022;
owner = new Person(); //owner에 Person타입의 메모리생성
owner.name="가길동"; // owner에 값을 할당
owner.age=20;
owner.weight=70;
}/////initialize
정보출력용
void printCar() {
System.out.println("[차량 정보]");
System.out.println("모델명:"+carModel);
System.out.println("연식:"+carYear);
System.out.println("기어:"+carGear);
System.out.println("소유주");
owner.printPerson();
}///printCar
public static void main (String[ ] args)
Car car1 = new Car( ) ; Car타입의 메모리 형성 (이름 car1)
= stack에 car1를 만들고 heap에도 메모리를 생성
System.out.println("[멤버변수 초기화용 메소드(initialzize) 호출전]");
=> 이땐 초기화 전 이기 때문에 아무것도 안뜸
System.out.println("[멤버변수 초기화용 메소드(initialzize) 호출후]");
car1.initialize();
car1.printCar();
Car car2 = new Car(); car타입의 메모리 하나 더 생성(이름은 ca2)
= stack에 car2를 만들고 heap에도 메모리를 생성
car2.carModel = "포르쉐"; //heap에 생성된 class car에 값을 일일이 할당시키기
car2.carGear = Car.MANUAL;
car2.carYear = 2022;
car2.owner = new Person(); owner는 person 타입이라서 그거에 맞게 할당 즉 초기화 시킴
car2.owner.name="박길동";
car2.owner.age=30;
car2.owner.weight=60;
car2.printCar();
car2.drive();
'학원 > JAVA' 카테고리의 다른 글
9.26 9-3일 차 추상화 최종 Grade (0) | 2022.09.26 |
---|---|
9.26 9-2일 차 계좌 입/출금 & 통장정리 (0) | 2022.09.26 |
9.23 8-3 class들어가기 abstraction (1) | 2022.09.25 |
9.23 8일 차 과제 (0) | 2022.09.25 |
9.23 8-2일 차 (야구게임) (1) | 2022.09.25 |