[Java] getter & setter

무엇인가?

  • 목적
    class의 argument 접근제한자를 private으로 두어 class파일 내부에서만 접근 가능하도록 한다. 이를 main파일 에서 접근하기 위해서 get(), set()함수를 사용해야 한다.

  • 역할
    get(), set()함수의 접근 제한자는 public이기 때문에 main파일에서도 접근할 수 있다. get()은 저장, set()은 읽기의 역할을 한다.

  • 사용 방법
    먼저 main에서 obj를 생성한 다음,
    obj.getArgument()을 사용해서 private으로 보호되어있는 argument값을 가져온다.

main 파일

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());
	}
}

class 파일

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;
	}
}

Output

제목
자바	20000

여기선 main 파일에서 b1, b2 객체를 생성한 다음,
b1.getTitle()
b2.getTitle() 등으로 값을 가져왔다.

좋은 웹페이지 즐겨찾기