목적
데이터 보호의 목적
내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출을 방지
정보 은닉(data hiding)
특정한 목적을 공유하는 클래스와 인터페이스의 묶음
계층 구조 간 구분은 점(.)으로 표현
소스 코드의 첫 번째 줄에 반드시 package 패키지명이 표시
import 패키지 명.클래스 명; 또는 import 패키지 명.*;
클래스, 필드, 메서드, 생성자 등에 부가적인 의미를 부여하는 키워드
하나의 대상에 대해서 여러 제어자를 사용할 수 있다.
하지만, 각 대상에 대해서 접근 제어자는 단 한 번만 사용할 수 있다.
접근 제어자 : public, protected, (default), private
기타 제어자 : static, final, abstract, native, transient, synchronized 등
private : 동일 클래스에서만 접근 가능
default : 동일 패키지 내에서만 접근 가능
protected : 동일 패키지 + 다른 패키지의 하위 클래스에서 접근 가능
public : 접근 제한 없음
객체지향의 캡슐화의 목적을 달성하면서도 데이터의 변경이 필요한 경우.
즉, private이 포함되어 있는 객체의 변수의 데이터 값을 추가하거나 수정하고 싶을 때 사용
데이터를 효과적으로 보호하면서도 의도하는 값으로 값을 변경하여 캡슐화를 보다 효과적으로 달성할 수 있다.
즉, setter 메서드를 사용하여 이름, 나이, 아이디 등에 대한 데이터값을 저장하고, getter 메서드를 통해 해당 데이터 값을 불러와 변수에 담아 출력하는 것이다.