/* 클래스 블록 */
public class 클래스명
{
/* 메서드 블록 */
[public|private|protected] [static] (리턴자료형|void) 메서드명1(입력자료형 매개변수, ..)
{
명령문(statement);
}
}
자바 코드의 가장 바깥쪽 영역은 클래스 블록이다. 클래스명은 소스 파일의 이름과 똑같이 사용해야 한다. 그리고 클래스 블록은 여러 메서드 블록을 포함한다.
이제 메서드 블록에 대해 살펴보면,
[public|private|protected]
는 메서드의 접근제어자이다.
접근제어자는 private < dafault protected < public
순으로 보다 많은 접근을 허용한다.
접근 제어자를 별도로 설정하지 않는다면 변수나 메서드는 default 접근 제어자가 자동으로 설정되어 동일한 패키지안에서만 접근이 가능하다.
접근 제어자가 protected로 설정되었다면 protected가 붙은 변수나 메서드는 동일 패키지의 클래스 또는 해당 클래스를 상속받은 클래스
에서만 접근이 가능하다.
접근 제어자가 public으로 설정되었다면 public 접근 제어자가 붙은 변수나 메서드는 어떤 클래스에서도 접근이 가능하다.
다양한 접근 제어자가 사용되는 이유?
변수나 메서드의 접근 제어자를 모두 public으로 설정해도 프로그램은 작동한다. 하지만 접근 제어자를 이용하면 프로그래머의 실수를 방지할 수 있고 기타 위험 요소를 제거할 수 있다.