[ static ]
- 클래스는 타입이다. 집이 아니고 집의 설계도임 따라서 클래스의 데이터 필드에 데이터를 저장할 수 없고, 클래스의 멤버 메서드를 실행할 수도 없다.
- new 명령으로 해당 클래스 타입의 객체를 만든 후, 그 객체에 데이터를 저장하고, 그 객체의 멤버 메서드를 실행하는 것이다.
- 하나의 예외가 존재하는데 이것이 바로 static 멤버이다.
- static 멤버는 클래스 안에 실제로 존재하며 객체에는 존재하지 않는다.
[ static 멤버의 용도]
1. main 메서드
2. 상수 or 클래스 당 하나만 유지하고 있으면 되는 값(예 PI : 1.141592...)
3. 순수하게 기능만으로 정의되는 메서드(Math.abs ... 등등)
[ 접근제어 ]
public : 클래스 외부에서 접근 가능
private : 클래스 내부에서만 접근이 가능하다.
default : 동일 패키지에 있는 다른 클래스에서 접근 가능하다.
protected : 동일 패키지의 다른 클래스와 다른 패키지의 하위클래스에서도 접근 가능하다.
[ 데이터 캡슐화 ]
- 모든 데이터 멤버를 private로 만들고 필요한 경우에 public 한 get/set 메서드를 제공한다.
- 객체가 제공해주는 메서드를 통하지 않고서는 객체 내부의 데이터에 접근할 수가 없다.
- 이것을 data encapsulation or information hiding 이라고 부른다
'자바프로그래밍' 카테고리의 다른 글
캡슐화(Encapsulation) (0) | 2020.04.01 |
---|---|
자바 시,분,초 계산 (0) | 2020.03.17 |
제네릭 프로그래밍 (0) | 2020.02.12 |
인터페이스 (0) | 2020.02.11 |
class Object (0) | 2020.02.05 |