객체지향 프로그래밍

1.은닉

1.1 은닉 - bad case

package encapsulation.badcase;

public class MyDate{
	public int day;
	public int month;
	public int year;
	
	public String toString(){
		return this.year + this.month + this.day;
	}
}

1.2 은닉 - good case

package encapsulation.goodcase;

public class MyDate{
	private int day;
	private int month;
	private int year;
	
	public void setDay(int d){
		if ( (d<1) || (d>31)){
			throw new RuntimeException("잘못된 날짜 입력");
		}else{
			day = d;
		}
	}
	public int gatDay(){
		return day;
	}
	
	public String toString(){
		return this.year + this.month + this.day;
		}
	}
}
	


2. 상속 (Inheritance)