자바프로그래밍

static , 접근제어

제주도소년 2020. 2. 17. 16:02

[ 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