2007.11.25

일상/글로 보기 | 2007/11/25 22:27 | 와이지

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)
이전 1 ... 26 27 28 29 30 31 32 33 34 ... 75 다음