TIL- 5/31

choichoichoi·2023년 5월 31일
0

내일배움캠프

목록 보기
13/36

내일배움캠프 3주 2일차

접근 제어자(access modifier)

객체의 필드와 메소드의 사용 범위를 제한하여 외부로부터 보호한다. 캡슐화된 멤버를 노출시킬 것인지, 숨길 것인지를 결정하기 위해 접근 제한자를 사용한다.

접근 제어자에는 pudlic, protected, defult, private이 있다.

  • pudlic : 모든 패키지에서 아무런 제한 없이 필드와 메소드를 사용할 수 있도록 함.(적용대상 : 클래스, 필드, 생성자, 메소드)
  • protected : 같은 패키지에 속하는 클래스에서 필드와 메소드를 사용할 수 있도록 함. defult와 차이점으로 다른 패키지에 속한 클래스가 해당 클래스의 자식 클래스라면 필드와 메소드를 사용할 수 있습니다.(적용대상 : 필드, 생성자, 메소드)
  • default : 필드와 메소드를 선언할 때 접근 제한자를 생략하면 default로 설정 됨. default 접근 제한은 같은 패키지에서는 아무런 제한 없이 필드와 메소드를 사용할 수 있으나 다른 패키지에서는 필드와 메소드를 사용할 수 없음.(적용대상 : 클래스, 필드, 생성자, 메소드)
  • private : 동일한 패키지이건 다른 패키지이건 상관없이 필드와 메소드를 사용하지 못하도록 제한. 오로지 클래스 내부에서만 사용할 수 있음.(적용대상 : 필드, 생성자, 메소드)

Getter와 Setter

외부에서 마음대로 읽고 변경할 수 없도록 제어하는 메소드. 필드에 직접 접근하지 않고 데이터를 조회, 수정할 수 있도록 하는 역할을 한다.
만약 외부에서 필드값을 읽을 수만 있고 변경하지못하도록 하려면(읽기 전용) Getter 메소드만 선언하거나, 아니면 Setter 메소드를 필요에 따라 private 혹은 protected 접근 제한을 갖도록 선언하면 된다.

0개의 댓글