접근 가능 범위 비고 public 모든 곳에서 접근 가능 일반적으로 모든 메서드 앞에 명시한다. private 클래스 안에서만 사용 가능
객체를 통해 접근할 수 없다.일반적으로 모든 멤버변수 앞에 명시한다. protected 현재 클래스 내의 다른 자원
같은 패키지 안에 존재하는 클래스
하위 클래스잘 사용되지 않는다. default 현재 클래스 내의 다른 자원
동일 패키지 안의 다른 클래스접근 한정자를 명시하지 않은 경우
멤버변수가 은닉된 형태로 선언된 경우 프로그램의 가장 근본적인 목적인 데이터에 접근하는 방법이 사라지므로 메서드를 통한, 간접적으로 접근할 방법이 마련되어야 한다.
getter
,setter
는 은닉된 멤버변수에 간접적으로 접근하기 위하여 정의된 메서드들을 의미하는 용어이다.
- getter : 은닉된 멤버변수의 값을리턴
하기 위한 메서드
- setter : 파라미터로 전달된 값을 멤버변수에복사
하기 위한 메서드String userName - getter : String getUserName() - setter : void setUserName(String userName) ------------------------------------------------------------------------------ int userAge - getter : int getUserAge() - setter : void setUserAge(int userAge)
규칙
get
,set
접두사 뒤에 변수이름을 첫 글자가대문자
인 형태로 명시- getter는 연결된 멤버변수의 데이터 타입을
리턴형
으로 명시- setter는 연결된 멤버변수의 데이터 타입을
파라미터형
으로 명시
접근 가능 범위 public 객체 생성이 가능하다.
서로 다른 소스코드에 정의된 클래스끼리도 객체 생성이 가능하다.private 클래스에 적용할 수 없다 protected 클래스에 적용할 수 없다 default 동일한 소스코드에 정의된 클래스끼리만 객체로 생성 가능하다.
구성요소
)를 생성할 수 있다.