1. 제어자(modifier)란?
- 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여한다.
- 제어자는 크게 접근 제어자와 그 외의 제어자로 나뉜다.
- 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나,
접근제어자는 단 하나만 사용할 수 있다.
접근 제어자 : public , protected, default, private
그 외 : static, final, abstract , native, transient, synchronized, volatile, strictfp
2. static ( 클래스의 , 공통적인 )
- static이 사용될 수 있는 곳 - 멤버변수, 메서드, 초기화 블럭
3. final ( 마지막의 , 변경될 수 없는 )
- final이 사용될 수 있는 곳 - 클래스 , 메서드 , 멤버변수 , 지역변수
<덧붙임>
4. 생성자를 이용한 final 멤버변수 초기화
- final이 붙은 변수는 상수이므로 보통은 선언과 초기화를 동시에 하지만,
인스턴스변수의 경우 생성자에서 초기화 할 수 있다.
<덧붙임>
- 예제와 같은 카드 게임의 경우, 카드의 숫자와 모양은 처음 정해진 그대로 가야하므로 final로 변경하지 못하게 했다.
- 초기화의 경우, 생성자에서 이루어진다.
5. abstract ( 추상의 , 미완성의 )
- abstract가 사용될 수 있는 곳 - 클래스 , 메서드
<덧붙임>
6. 접근 제어자 (access modifier)
- 멤버 또는 클래스에 사용되어, 외부로부터의 접근을 제한한다.
접근 제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드 , 생성자
private - 같은 클래스 내에서만 접근이 가능하다.
default - 같은 패키지 내에서만 접근이 가능하다.
protected - 같은 패키지 내에서 , 그리고 다른 패키지의 자손클래스에서
public - 접근 제한이 전혀 없다
7. 접근 제어자를 이용한 캡슐화
- 접근 제어자를 사용하는이유
- 외부로부터 데이터를 보호하기 위해서
- 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서
8. 생성자의 접근 제어자
- 일반적으로 생성자의 접근 제어자는 클래스의 접근 제어자와 일치한다.
- 생성자에 접근 제어자를 사용함으로써 인스턴스의 생성을 제한할 수 있다.
<덧붙임>
9. 제어자의 조합
참조 : http://choijava.blogspot.kr/2013/08/blog-post_19.html?view=sidebar
'Dev. Java' 카테고리의 다른 글
[자바 기본기] 추상 클래스 (0) | 2014.05.20 |
---|---|
[자바 기본기] 다형성 (0) | 2014.05.19 |
[자바 기본기] package와 import (0) | 2014.05.17 |
[자바 기본기] 오버라이딩 (0) | 2014.05.16 |
자바 split 메소드로 문자열 분할하기 (0) | 2014.05.15 |