캡슐화는 data를 외부에서 접근하지 못하도록 제한하는것을말한다
자기클래스에서만 접근할수있는 private 접근제어자를 붙인다
public void setNumber(int n) {
number = n;
}
public void getNumber() {
return number;
}
멤버변수에 값을 설정하고 불러올수있는
set, get method를 만든다
//public class Student
private String name;
private int id;
private int age;
//private를 이용할경우 같은 클래스 내에서만 접근가능하다
public void setName(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getAge() {
return age;
//다른클래스에서 접근할수 있또록 set,get method를 만든다
public void showInfo() {
System.out.println(getName());
System.out.println(getId());
System.out.println(getAge());
} //한번에 불러올수있도록 method를 만들어줄수도 있다
//main
Student stu = new Student();
stu.name = "jusung";
System.out.println(stu.name);
//같은 클래스이므로 접근가능하다
---------
//public class School
//main
Student stu = new Student();
stu.name="jusung";
System.out.println(stu.name); //error
//다른 클래스이므로 private란 변수 name에 접근할수없다
stu.setName("jusung");
stu.setId(1234);
stu.setAge(55555);
System.out.println(stu.getName());
System.out.println(stu.getId());
System.out.println(stu.getAge());
//이와같이 private일경우 set,get method를 이용해 접근해야한다
stu.showInfo();
//Student 에서 만들어논 method를이용해 한번에 불러온다
'java' 카테고리의 다른 글
접근 제어자(Access modifier) (0) | 2019.08.02 |
---|---|
inheritance(상속), overriding (0) | 2019.08.02 |
메소드, 생성자 오버로딩(overloading) (0) | 2019.08.02 |
return, 매개변수 (0) | 2019.08.02 |
class, instance 변수 와 method (0) | 2019.08.02 |