은닉성(=캡슐화)
외부(클래스밖)와의 접근을 차단 또는 접근이 가능하도록 하는 기능
접근지정자를 사용하여 변수, 메소드의 접근을 차단/허용할 수 있다.
접근지정자
- private(개인적인) - 외부 접근 차단
- public(대중적인) - 어디든지 접근이 가능
- protected(보호) - 상속관련 자식클래스에서 접근 허용, 외부 접근 차단
import cls.MyClass;
public class MainClass {
public static void main(String[] args) {
MyClass mycls = new MyClass();
// mycls.number = 1;
mycls.name = "홍길동";
// mycls.height = 171.2;
// mycls.function();
mycls.method();
int number = 123;
mycls.setNumber(number);
int n = mycls.getNumber();
System.out.println("n = " + n);
String name = "홍길동";
mycls.setName(name);
String name2 = mycls.getName();
System.out.println("name2 = " + name);
}
}
package cls;
public class MyClass {
// (멤버)변수 -> 거의 private 99%
private int number;
public String name; // <- 은닉성에 위배
protected double height;
// (멤버)함수 -> 거의 public
private void function(){
System.out.println("MyClass function()");
}
public void method(){
System.out.println("MyClass method()");
}
public int getNumber(){
return number;
}
public void setNumber(int num){
number = num;
}
public String getName(){
return name;
}
public void setName(String name1){
name = name1;
}
}