[Java] 접근 제어자 - Access

원준·2023년 7월 11일
0

Java

목록 보기
14/19

Access ?

  • 외부 및 내부에서 접근할때의 권한에 대해 설정하는 것을 말한다.
  • 설정하는 권한에 따라 접근을 못할수도 있고, 누구나 접근을 가능하게 할수도 있다.
    • 매게변수, 메서드, 생성자 등 모든 것에 적용 가능하다.

종류

  1. default
    • 같은 패키지만 접근 가능
    • 따로 권한에 대해 설정하지 않았다면, 기본적으로 설정되는 권한
  2. public
    • 다른 클래스 어디에서건, 접근 가능
  3. private
    • 클래스 내부에서만 접근할 수 잇다.
    • 다른 클래스 어디에서건, 접근 불가능
  4. protected
    • 상속 관련

패키지 ?

  • Pakage
  • 파일 경로와 비슷한 말이라고 생각하면 된다.

예시

package model;

public class Member {
	//접근 제어자
		// 다른 클래스에서 이 클래스의 멤버 변수나 메소드를 이용할 수 있도록 열어주거나 닫아주는 역할
	
	//4개의 키워드가 있다.
	//1. 아무것도 안적는 것 default : 같은 패키지만 접근 가능
	//2. public : 다른 클래스 어디에서건, 멤버변수와 메소스에 접근가능
	//3. private : 다른 클래스 어디에서건, 이 클래스의 멤버변수와 메소드에 접근 아예 불가능
	//4. protected : 상속관련


	public String name; // 클래스 외부에서 접근 할 수 있다.
	private String tel; // 해당 클래스 내부에서만 접근 할 수 있다.
	String address; //같은 패키지에서만 접근 할수 잇다.
	
	public Member(String tel){
		this.tel = tel;
	}
	
	public void setData(String name) {
		this.name = name;
	}
	
    // 강제로 접근이 불가능한 변수를
    //Setter() 함수를 통해 한번 거쳐서 접근이 가능하도록 만들수 있다.
	public void setTel(String tel) {
		this.tel = tel;
	}// 이는 이전에 Setter, Getter에서 배운 함수 직접적 접근을 막아주는것이 좋다는 이유다.
    // Private 접근 제어자를 사용하면 강제로 메서드를 통해 접근해야 하다보니 좋은 방법일 수 도 있다.

	public void setName(String name) {
		this.name = name;
	}

	public void setAddress(String address) {
		this.address = address;
	}
}
profile
공부해보자

0개의 댓글

관련 채용 정보