|
|
제목:압구정 가로수길
제어자란
클래스,변수,메서드의 선언부에 함께 사용되어 부가적인 의미 부여
접근제어자:public,protected,default,private
그외:static,final,abstract,native,transient,synchronized,volatile,strictfp
여러 제어자를 조합하여 사용가능
단 접근제어자는 하나만 사용가능
static :클래스의,공통적인
static이 사용될 수 있는곳: 멤버변수,메서드,초기와 블럭
멤버변수:공통적으로 사용가능한 클래스 변수가됨
인스턴스 생성 하지 않고도 사용가능
클래스가 메모리에 로드될떄 사용
메서드:인스턴스를 생성하지도 안항도 호출이 가능한 static메서드
static메서드 내에서는 인스턴스 멤버들을 직접 사용 x
final : 마지막의 변경될수없는
한 프로젝트에서 정해진 변경하지 않는 클래스,변수,메서드에 사용
불러와 사용은 가능하나 변경할수없음 일종의 락
생성자를 이용한 final 멤버변수 초기화
일반적인 선언과 초기화를 동시에 하지만 인스턴스 변수에 경우 생성자에서 초기화 되도록 할수 있다.
이기능을 활용시 각 인스턴스 마다 final이 붙은 멤버변수가 다른값을 갖도록 하는게 가능
해당 클래스의 생성자를 불러올시에 생성자를 이용 변수를 입력 하여 초기화가능.
abstract : 추상의,미완성의
클래스 내에 추상 메서드가 존재 한다는것을 쉽게 알하려고 쓰임
접근 제어자 란?
멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서접근하지 못하도록 제한하는 역활
default는 표기x 지정안되있으면 무조건 default
사용되는곳: 클래스,멤버변수,메서드,생성자
private: 같은 클래스에서만 접근가능
default: 같은패키지 내에서만 접근이 가능
protected: 같은패키지내에서 그리고 다른 패키지의자손클래스에 접근
public: 접근제한이없음
접근제어자를 이용한 캡슐화
접근제어자를 사용하는 이유
1.클래스 내부에 선언된데이터를 보호하기 위해서.
2.데이터값을 유지하고 내부데이터를 외부에서 함브로 변경하지 못하도록 하기 위해서 외부로부터 접근을 제어함
생성자 접근제어자
생성자에 private로 지정하면 인스턴스 생성을 제한할수 있다.
외부에서는 사용할수 없으나 내부 클래스 상에서는 사용가능
제어자의 조합
1.메서드의 static과 abstract를 같이 쓸수없음
추상과 내용은 함께할수없음
2.클래스의 abstract와 final을 동시에 사용할수 없음
final은 클래스를 확장x abstract는 상속을 통해서 완성된다는 의미 모순됨
3.abstract메서드의 접근 제어자가 private일수없다
자손클래스에서 구현해줘야하는데 접근제어자가 private이면 자손클래스 접근불가
4.메서드의 private와 final을 같이 사용할수 없다.
접근 제어자 private인 메서드는 오버라이딩 x 둘중하나만 사용해도 의미 충분함
'코딩 > Java' 카테고리의 다른 글
| 추상클래스(abstract class) (0) | 2016.03.22 |
|---|---|
| 다형성(polymorphism) (0) | 2016.03.21 |
| 오버라이딩(overriding) (0) | 2016.03.16 |
| 상속(inheritance) (0) | 2016.03.16 |
| 변수의 초기화 (0) | 2016.03.14 |