실습 문제는 4월 29일 실습 문제.hwp에 있습니다.
시험에 나오는 건 절대 아니기 때문에 간단히 돌려보시기만 하면 됩니다.
1,
class Triangle {
double bottom;
double height;
public Triangle(double bottom, double height) {
this.bottom = bottom;
this.height = height;
}
}
class TriangleArea extends Triangle {
public TriangleArea(double bottom, double height) {
super(bottom, height);
}
public double getArea() {
return bottom*height/2;
}
}
public class assign1 {
public static void main(String[] args) {
TriangleArea tr = new TriangleArea(6.0,3.0);
System.out.println(tr.getArea());
}
}
super하고 this의 사용 방법,
상속을 사용하는 방법을 연습해볼 수 있는 예제입니다.
e캠퍼스 강의 자료 6주차에 있는 상속 ppt에 이와 비슷한 예제가 있으니 참고해보시면 됩니다.
2,
class person{
int haveMonsterCan = 0;
public void bringCan(refrigerator refri, int bring) {
haveMonsterCan += refri.takeCan(bring);
}
public void showInfo() {
System.out.println("사람이 현재 가지고 있는 몬스터 캔 개수 : " + haveMonsterCan);
}
}
class refrigerator{
int monsterCan;
public refrigerator(int monsterCan) {
this.monsterCan = monsterCan;
}
public int takeCan(int takeNumber) {
monsterCan -= takeNumber;
return takeNumber;
}
public void showInfo() {
System.out.println("냉장고가 현재 가지고 있는 몬스터 캔 개수 : " + monsterCan);
}
}
public class assign2 {
public static void main(String[] args) {
refrigerator fri = new refrigerator(20);
person per = new person();
per.bringCan(fri, 5);
fri.showInfo();
per.showInfo();
}
}
클래스의 정의와 클래스간의 상호작용을 확인해볼 수 있는 예제입니다.
클래스란 사람, 냉장고 같은 객체를 컴퓨터로 프로그래밍한 것을 의미합니다.
그래서 현실 세계에서의 사람은 많은 행동을 할 수 있지만,
여기에서는 단순히 냉장고에서 몬스터 캔을 꺼내는 행동(메소드),
내가 가지고 있는 몬스터 캔(필드, 멤버 변수)로 정의하였습니다.
클래스의 상호 작용에 대해 쉽게 접할 수 있는 예제가 과일 장수 프로그램이 있는데,
제가 이 실습 문제를 과일 장수 프로그램하고 비슷하게 구현해보았습니다.
과일 장수 프로그램에 대한 설명은 밑의 링크를 참고해주시면 감사하겠습니다.
https://kkungchan.tistory.com/156