1.
가끔씩 재미로 해보는 나의 상태를 OOP로 나타내기..
Source code:
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
public class YG extends Person {
private int tired = 0;
private int worked = 0;
public YG() {
super("YG~");
}
public void doWork() {
System.out.println(getName() + " is working...");
if (isTired()) {
doRest();
}
tired++;
worked++;
doWork();
}
public void doRest() {
System.out.println(getName() + " is taking a break...");
int rest = (worked / 2);
if (rest == 0) {
throw new RuntimeException("쉬어도 쉬어도 피로해...");
}
tired -= rest;
worked = 0;
}
private boolean isTired() {
return (tired > 10);
}
public static void main(String[] args) {
YG me = new YG();
me.doWork();
}
}
Output:
YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is taking a break... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is working... YG~ is taking a break... YG~ is working... YG~ is working... YG~ is taking a break... YG~ is working... YG~ is taking a break... Exception in thread "main" java.lang.RuntimeException: 쉬어도 쉬어도 피로해... at YG.doRest(YG.java:25) at YG.doWork(YG.java:14) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.doWork(YG.java:18) at YG.main(YG.java:37)




