목적
class의 argument 접근제한자를 private으로 두어 class파일 내부에서만 접근 가능하도록 한다. 이를 main파일 에서 접근하기 위해서 get(), set()함수를 사용해야 한다.
역할
get(), set()함수의 접근 제한자는 public이기 때문에 main파일에서도 접근할 수 있다. get()은 저장, set()은 읽기의 역할을 한다.
사용 방법
먼저 main에서 obj를 생성한 다음,
obj.getArgument()을 사용해서 private으로 보호되어있는 argument값을 가져온다.
import kr.tpc.BookVO2;
public class TPC12 {
public static void main(String[] args) {
BookVO2 b1=new BookVO2();
// System.out.println(b1.title); XXX
// title은 private 이기 때문에 main파일에서 바로 접근(.을 통한 접근)이 불가능 하다.
System.out.println(b1.getTitle());
// 이러면 초기화한 "제목"이 print된다.
BookVO2 b2=new BookVO2("자바", 20000, "길벗", 790);
System.out.print(b2.getTitle()+"\t");
System.out.print(b2.getPrice());
}
}
package kr.tpc;
public class BookVO2 {
private String title;
private int price;
private String company;
private int page;
public BookVO2() {
this.title="제목";
this.price=00000;
this.company="출판사";
this.page=000;
}
public BookVO2(String title, int price, String company, int page) {
this.title=title;
this.price=price;
this.company=company;
this.page=page;
}
// getter & setter
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
}
제목
자바 20000
여기선 main 파일에서 b1, b2 객체를 생성한 다음,
b1.getTitle()
b2.getTitle()
등으로 값을 가져왔다.