본문 바로가기
Java

Java 캡슐화 (Encapsulation)란?

by 신입같은 3년차 2017. 7. 12.

 인캡슐레이션 ( Encapsulation ) - 캡슐화 : 내부의 데이터를 보호


/**
 * 인캡슐레이션 ( Encapsulation ) - 캡슐화 : 내부의 데이터를 보호
 *
 */
public class Encapsulation {
	public static void main(String[] args) {
		Time t1 = new Time();
//		t1.setHour(-8);
//		t1.setMinute(590);
//		t1.setSecond(-110);
		System.out.println(t1.getHour() + " : " + t1.getMinute() + " : " + t1.getSecond());
		// //번외
		// int num = 8;// 10진수 처리
		// num = 017; // 8진수 처리
		// num = 0xf1; // 16진수 처리
		// System.out.println(num);
		//

	} // end of main
} // end of class

class Time {
	private int hour;
	private int minute;
	private int second;
	private boolean open;
	// getter/setter 메서드
	// setter : 값을 설정 ( 저장 ) // private로 설정해주면 쓰기 X 읽기 O 한마디로 읽기 전용. 사용자가 변경 불가.
	// getter : 값을 참조 ( 읽기 )
	
	
	
	public boolean isOpen(){  // boolean 타입일 경우
		return open;
	}
	
	
	public int getHour() {
		return hour;
	}

	private void setHour(int hour) {
		// 범위에 벗어나는 값은 저장하지 않기
		if (hour < 0 || hour > 23) {
			System.out.println("시간 범위를 벗어났습니다.");
			return;
		}
		this.hour = hour;

	}

	public int getMinute() {
		return minute;
	}

	private void setMinute(int minute) {
		if (minute < 0 || minute > 59) {
			System.out.println("분 범위를 벗어났습니다.");
			return;
		}
		this.minute = minute;
	}

	public int getSecond() {
		return second;
	}

	private void setSecond(int second) {
		if (second < 0 || second > 59) {
			System.out.println("초 범위를 벗어났습니다.");
			return;
		}
		this.second = second;
	}

}

반응형

'Java' 카테고리의 다른 글

Java 다형성 ( polymorphism ) 의 예제(1)  (0) 2017.07.12
Java 다형성 ( Polymorphism )  (0) 2017.07.12
Java 간단한 Singleton 예제  (0) 2017.07.12
Java instanceof란?  (0) 2017.07.12
Java 접근제어자  (0) 2017.07.11

댓글