접근권한제어자, getter, setter

김지원·2022년 5월 29일
0

Java

목록 보기
22/38
post-thumbnail
접근권한제어자를 사용하는 경우..
기존에 만들어 논 클래스파일에서 다른 파일의 변수가 필요한 경우
다른파일에서 클래스에 접근해야하는 경우도 있음 

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

default : 같은 패키지에서는 접근 가능

public : 다른 패키지에서도 접근 가능

protected : 같은 패키지에서는 접근 가능

private : 선언된 영역에서만 접근 가능

  • default : 삼각형
  • public : 동그라미
  • protected : 마름모
  • private : 네모

해당 파일에서 새로운 클래스를 만들고 Access에 접근을 하려니
private가 사라졌다.

즉, private은 해당 class 영역에서만 접근할 수 있다.

다른 패키지에서 Access를 객체화하고 불러오려고 했을 때 public(data2)만 접근이 된다.

protected, default는 다른 패키지에서는 접근할 수 없다.

이러한 접근을 막아주는걸 접근권한제어자라고한다.
클래스, 메서드, 변수 모두 접근권한제어자가 붙을 수 있다.

=> 이렇게도 표현한다.
접근을 막아준다? = 다른 곳에서 쉽게 접근하지 못하게 한다. = 접근은,, 할수있다.
왜? 직접 접근하지 못하고 간접적으로 접근 하게 해준다.

그렇다면 private이 달린 변수에 접근하는 방법을 알아보자

  • 메서드를 사용한다.
    getData4라는 int타입의 메서드를 사용한다.

다른패키지에서도 getData4의 값을 불러올 수 있게 되었다.
System.out.println(a.getData4()); //30


get이 있다면! set도 있다.
set : private의 값을 변경해줄때 사용

getter, setter

Alt + Shift + S + R
  • getter( ) : public 제어자를 붙여서 다른 클래스 혹은 패키지에서도 private 변수에 접근 할 수 있도록 해준다. (데이터 가져오기)
  • setter( ) : public 제어자를 붙여서 다른 클래스 혹은 패키지에서도 private 변수에 접근 할 수 있도록 해준다. (데이터 변경을 목적으로 한다.)

getter, setter 불러오는 창.

	public int getData4() {
		return data4;
	}
외부에서 get을 이용해 값을 가져오고


	public void setData4(int data4) {
		this.data4 = data4;
	}
외부에서 set을 이용해 값을 바꿔준다.

private변수를 만들어서 외부에서 접근하고 싶다면 setter, setter을 사용한다.

근데 public 을 쓰면되지 setter, setter을 사용해서 할까?

직접 접근하지 못하게 하기 위해서..!! 보안적인 이유 때문에 사용한다.
보안성이 높지는 않다. 개발자들 끼리의 '주의'를 줄때 사용하는 목적을 가진다.
혹은 set하지말고 get만(값만 확인하게)쓰게 해줄께! 할때 사용한다.

0개의 댓글

관련 채용 정보