[Java] 접근 제한자, 캡슐화

이주형·2023년 5월 9일
0

Java

목록 보기
3/10

📌 접근 제한자

접근의 제한을 두기 위해 제공하는 것

클래스의 정보 보호를 위한 캡슐화의 개념에 적용되므로 아주 중요한 개념이다.

public 접근 제한자

  • 같은 패키지 : 자유롭게 접근 가능
  • 다른 패키지 : 자유롭게 접근 가능

protected 접근 제한자

  • 같은 패키지 : 자유롭게 접근 가능
  • 다른 패키지 : 참조할 경우는 접근 불가(상속받은 자식 클래스는 접근 가능)

default 접근 제한자

  • 같은 패키지 : 자유롭게 접근 가능
  • 다른 패키지 : 접근 불가

private 접근 제한자

  • 같은 패키지 : 접근 불가
  • 다른 패키지 : 접근 불가

  • 클래스는 public, default 사용 가능
    (하나의 자바 파일에 여러 개의 클래스를 만들 경우 파일 명으로 사용하는 이름은 public 이 있는 클래스의 이름이며 public 은 오로지 하나의 클래스에만 붙힐 수 있다.)
  • 생성자는 public, protected, default, private 사용 가능
  • 멤버 변수는 public, protected, default, private 사용 가능
  • 멤버 메서드는 public, protected, default, private 사용 가능
  • 지역 변수는 접근 제한자 불가

📌 캡슐화

클래스에 선언한 변수의 접근 제한자를 private로 주고 접근을 못하게 차단 한 후 접근을 가능하도록 허용하는 변수만 메서드를 통해 접근 하도록 하는 방법

접근을 가능하게 하는 메서드

  • setter : 맴버 변수에 값을 넣기 위해 제공하는 메서드.
  • getter : 맴버 변수의 값을 주기 위해 제공하는 메서드

이름 짓는 규칙

  • setter의 이름짓는 규칙 : set변수명
  • getter의 이름짓는 규칙 : get변수명, is변수명(boolean)
class TestClass1 {
	private int memberA;
	private boolean memberC;

	public int getMemberA() {
		return memberA;
	}

	public void setMemberA(int memberA) {
		this.memberA = memberA;
	}


	public boolean isMemberC() {
		return memberC;
	}

	public void setMemberC(boolean memberC) {
		this.memberC = memberC;
	}
}

0개의 댓글