본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

private에 접근하기

앞서, 자바의 접근제어자를 확인했었다.
https://standout.tistory.com/141

퍼프디피, 접근제어자

퍼프디피 접근의 용이 순서 public, protected, 생략(default), private public 공개, 어디서든지 접근이 가능 public class Example { public int publicVar = 0; public void publicMethod() { System.out.println("This is a public method"); }

standout.tistory.com

 
이중 private은 같은 클래스 내에서만 접근이 가능하다고 했는데, 
다른클래스에서 접근을 하고 싶다면 어떻게 해야 할까?
= setter getter를 이용한다.
 
setter getter
set+변수명: 값 초기화(설정)
get+변수명: 접근하지 못하는 변수에 접근할수있도록 허용 = public
https://standout.tistory.com/138

초기화와접근, setter getter

setter getter set은 설정하는것, get은 접근할수 있도록 하는것. set+변수명: 값 초기화(설정) get+변수명: 접근하지 못하는 변수에 접근할수있도록 허용 = public private int num; public int getNum() { // Getter retur

standout.tistory.com

 
아래 예를 확인해보자.

private String bookname;
private String author;

public Book(String bookname, String author) {
	this.bookname = bookname;
	this.author = author;
}
    
public String getBookname() {
	return bookname;
}
public void setBookname(String bookname) {
	this.bookname = bookname;
}
public String getAuthor() {
	return author;
}
public void setAuthor(String author) {
	this.author = author;
}
//	필드가 퍼블릭일경우 접근해 출력가능
//	System.out.println(bookArr[0].bookname);

Book bookArr[] = new Book[5];
bookArr[0] =new Book("책이름1", "저자1");
bookArr[1] =new Book("책이름2", "저자2");
bookArr[2] =new Book("책이름3", "저자3");
bookArr[3] =new Book("책이름4", "저자4");
bookArr[4] =new Book("책이름5", "저자5");
//	필드가 프라이빗일 경우 get으로 접근해 출력
System.out.println(bookArr[0].getBookname());

for (int i = 0; i < bookArr.length; i++) {
	System.out.println(bookArr[i].getBookname() + ", " + bookArr[i].getAuthor());
}

필드가 퍼블릭으로 공개되어있을때는 바로 bookname을 접근해 출력이 가능하나, 
private로 한번 보호가 되어있기때문에, 
setter getter를 이용해 가져오는 단계를 거쳐야 한다.

'JAVA' 카테고리의 다른 글

클래스 속성, field  (0) 2023.03.18
여러 인스턴스에서 공유하다, static  (0) 2023.03.18
요일출력하기, Calendar  (0) 2023.03.18
정밀한 시간표현, currentTimeMillis()  (0) 2023.03.18
타입검사하기, instanceof  (0) 2023.03.18