JAVA Day-13

이강민·2021년 10월 4일
0

JAVA 기초 1

목록 보기
14/20
post-thumbnail

클래스(접근 권한 제어자)

클래스 자체를 접근 권한 제어자를 설정할 수 있으며 클래스에 들어가는 각 객체에 접근제어 관리자를 설정 할 수 있다.
public은 다른 패키지에서도 접근이 가능하다.
먼저 같은 패키지 안에서 접근권한을 살펴보자

package day13;
public class Access {
 int data1 = 10;
 public int data2 = 10;
 protected int data3 = 10;
 private int data4 = 10;

 public int getData4() {
	return data4;
	}

public void setData4(int data4) {
	this.data4 = data4;
	}

}

여기서 Access라는 클래스를 만들었고 이 클래스 안에는 정수를 담는 data를 초기화 하였다.
각 data앞에는 접근 권한 제어자를 붙였으며 제어자가 없는 것은 default이다.
다음은 같은 패키지에서 다른 클래스에서의 접근이다.

package day13;
public class Access2 {
	void function() {
		Access a = new Access();
		a.data1 = 30;
		a.data2 = 40;
		a.data3 = 70;
		System.out.println(a.data1);
		System.out.println(a.data2);
		System.out.println(a.data3);
	}
	public static void main(String[] args) {
		Access2 a = new Access2();
		a.function();
	}
}

위의 코드를 보면 다른 클래스인 Access2에서 메서드를 만들어 초기화 하여 메서드안에서 Access의 객체들을 가져와 쓸 뿐아니라 수정도 가능하다.

다음은 다른 패키지를 만들어 사용해보자

package access;

import day13.Access;

public class Access3 {
	void function() {
		Access a = new Access();
		a.data2 = 30;
		System.out.println(a.data2);
		System.out.println(a.getData4());
	}
	public static void main(String[] args) {
		Access3 a3 = new Access3();
		a3.function();
	}
}

다른 패키지를 만들어 다른 패키지의 클래스를 접근하려니 초기화 할때 import가 새로히 생겼으며 값또한 public 뿐이 가져올 수 없었다.
그리고 private는 getter로 간접적으로 가져올 수 있었다.

마지막으로 다음과 같이 클래스의 접근제어관리자를 정리 할 수 있겠다.

private는 getter와 setter로 가져 올 수 있다.

getter(): public 제어자를 붙여서 다른 클래스 혹은 패키지에서도
private 변수에 접근할 수 있도록 해준다.(데이터 가져오기)

setter() : public 제어자를 붙여서 다른 클래스 혹은 패키지에서도
private 변수에 변경할 수 있도록 해준다.

profile
AllTimeDevelop

0개의 댓글

관련 채용 정보