객체지향 수업을 들은 후 다음 날 있을 조별과제 주제를 객체지향 복습겸
제대로 이해하고 넘어가기 위해 새로운 주제를 정해 만들어보기로 했다.
(코드를 만들며 이해했던 부분을 되짚어 보며 기억하기 위해 작성했던 순서대로 기록하겠다.)
abstract public class Car {
String color;
int maxSpeed;
boolean power;
public void changePower(){
power = !power;
}
public String go(){
if(power){
return "앞으로 갑니다.";
}else {
return "시동을 먼저 켜주세요";
}
}
}
전기차 만들기
public class Electric extends Car {
int battery;
public String charge(int amount){
battery += amount;
return "충전을 완료했습니다.";
}
@Override
public String sound() {
return "위이이이잉";
}
public Electric(int battery){
super(Color.BLUE,250, false);
this.battery = battery;
}
@Override
public String toString() {
return "Electric{" +
"battery=" + battery +
", color='" + color + '\'' +
", maxSpeed=" + maxSpeed +
", power=" + power +
'}';
}
}
그 다음 전기 자동차를 만들기 위해 Electric클래스를 만들었다. 이 전기 자동차에 Car클래스에서 만든 색깔, 속도, 전원을 모두 사용할 수 있게 하기 위해 extends Car를 사용해서 상속을 받았다.
전기차는 배터리를 충전하여 사용하기 때문에 aomunt를 사용하여 충전이 완료 되었을 때 충전을 하고 "충전을 완료했습니다"를 리턴해 주도록 했다.
(부모에게)상속받은 메서드를 전기차(자신)에 맞게 변경하여 사용하기 위해
Override를 사용했다. 이렇게 하면 덮어쓰기를 하여 변경할 수 있게된다.
public class Oil extends Car{
int gasoline;
public String gasolineUp(int amount){
gasoline += amount;
return "주유를 완료했습니다.";
}
@Override
public String sound() {
return "부아앙";
}
public Oil(int gasoline){
super(Color.RED, 150, false);
this.gasoline = gasoline;
}
@Override
public String toString() {
return "Oil{" +
"gasoline=" + gasoline +
", color='" + color + '\'' +
", maxSpeed=" + maxSpeed +
", power=" + power +
'}';
}
}
public enum Color {
RED, BLUE, GREEN
}
public class Main {
public static void main(String[] args) {
Electric tesla = new Electric(200);
Oil sonata = new Oil(300);
System.out.println(tesla.toString());
System.out.println(sonata.toString());
}
}
수업을 들으며 이해가지 않았던 부분이 많이 있었는데 조별발표를 통해 많이 이해할 수 있었다.
내가 코드를 치기로 했는데 어떤 차를 만들지 구성한 후 코드로 작성하기 위해 키보드에 손을 올렸는데 막상 코드를 생성하려고 하니 막막한 느낌이 들었다.
다행이도 친절한 조원들이 무엇을 할 건지 떠올릴 수 있게 잘 이끌어 주었고 그 사이 사이에도
'무엇을 만들건지' ,'무엇을 사용해야 하는지', '왜 사용하는지', '의미 등을 자세히 설명해 주어서 강의 시간에 이해하지 못했던 부분까지 모두 이해할 수 있었다.
발표를 위한 발표가 아닌 복습 위주로 준비를 하자는 의견이 모두 맞아 주제 선정부터 준비과정까지 모두 재미있게 할 수 있어서도 좋았고 처음에는 원래 생각이 나지 않는게 맞는거라며 어려워하는 내가 당연하다는 말도 위로가 되고 용기를 얻을 수 있게 되어서 좋았다!