접근 제한자란?
: 클래스, 멤버변수, 메소드 등의 사용 가능 범위를 지정
private
: 선언된 클래스 내에서만 직접 접근 가능
private로 지정할 경우
메인 메소드에서 객체를 생성하여 필드에 값을 넣을 때
직접 접근을 불가능하게 만들어줍니다.
(setter로 값을 변경해주는 것이 좋습니다.)
protected
: 해당 클래스와 해당 클래스를 상속한 클래스 내에서만 접근 가능
default
: 같은 패키지 내에서 접근 가능
기본 값이기 때문에 따로 default라고 쓰지 않음
public
: 같은 프로젝트 내에서 접근 가능
결론!
멤버변수 -> private
메소드 -> public
을 넣으세요!
(참고로, 클래스는 public, default만 가능하며 public은 파일명과 동일한 하나의 클래스만!)