Language/Java

12. Java 데이터 은닉과 접근 제어자

유가엘 2020. 3. 6. 18:09

lesson13_OOP_AccessModifier.zip
0.00MB
lesson13_OOP_Encapsulation.zip
0.00MB

데이터 은닉이 필요한 이유?

외부로부터 데이터 변질이 되는 것을 막기위해 , 속성값들은 private 클래스를 이용해 내부에서만 사용 가능하며 , 외부에서 접근 가능한 메서드를 제공해 실제 데이터를 변경시켜줍니다.

 

멤버변수를 Private 설정을 해줌으로써 , 외부로부터의 데이터 변질을 방지합니다.

  • private : 자기 클래스 내부의 메서드에서만 접근 허용합니다.

  • protected : 자기 클래스 내부 또는 상속받은 자식 클래스에서 접근 허용합니다.

  • public : 모든 접근을 허용합니다..

 

package lession13_OOP_Encapsulation;

// 캡슐화(encapsulation)
//		데이터의 안전한 처리를 위해
public class Dog {
	private String name;
	private int age; // 외부의 직접 접근을 막고

	public Dog() {
		// TODO Auto-generated constructor stub
	}

	public Dog(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	////////////////////////
	// 변수에 접근할 수 있는 안전한 통로
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		if (age < 0) {
			age *= -1;
		}
		this.age = age;
	}

	/////////////////////////
	public void print() {
		System.out.println(name);
		System.out.println(age);
	}

}