#패키지(package)
1. 패키지란 ,
클래스 파일들을 체계적으로 관리하도록 사용합니다. -> 디렉터리(폴더)
2. 사용하는 이유
● 동일한 클래스명을 사용할 수 있도록 하기 위해
● 클래스를 비슷한 기능으로 묶어서 편하게 관리하기 위해
3. 예시(1)
● import를 통해 Class 1의 경로를 알려준다.
#접근제어자
1. 의미
접근 제어자는 외부에서 클래스에 대한 값(클래스, 메서드, 필드)을 공개하는 수준을 의미합니다. Java에서는 public, protected, default, private을 접근 제어자로 사용하고 있습니다.
2. 종류
* public : 모든 외부에서 직접 접근하거나 호출할 수 있습니다.
* protected : 현재 클래스와 동일 패키지이거나 다른 패키지이더라도 상속 시에는 접근하거나 호출할 수 있습니다.
* default : 현재 클래스와 동일 패키지 내에서만 접근하거나 호출할 수 있습니다.
* private : 현재 클래스의 {} 바깥쪽에서는 절대로 보이지 않습니다.
● 클래스의 접근 제한
클래스를 선언할 때에는 접근 제한자 중에서 public, default만을 선택할 수 있습니다.
public으로 만들면 외부에 클래스를 노출하겠다는 뜻이고, default는 현재 패키지 내에서만 보이는 클래스로 만들겠다는 뜻입니다.
● 인스턴스 변수(필드)의 접근 제한
인스턴스 변수에 대한 접근 제한은 public, protected, default, private 네 가지를 모두 이용할 수 있습니다.
일반적으로 private로 만드는 경우와 프로그램에서 상수를 표현할 때 public static으로 선언하는 것이 일반적입니다.
● 메소드의 접근 제한
접근 제한자 네가지를 모두 이용할 수 있지만 추상 메소드의 형태로 메소드를 만들 때에는 private으로 선언할 수 없습니다.
* 자바의 모든 클래스의 최상위 조상(부모) 클래스는 Object 클래스입니다.
모든 타입은 Object클래스는 기본 데이터 타입을 객체화 시킨 Wrapper type으로 대입받을 수 있습니다.
# static 변수
- 프로그램이 시작되면 메소드/필드 상관없이 선언즉시 메모리에 먼저 로드되므로 객체 생성할 필요가없다.
- 모든 객체가 공용으로 사용한다.
예시 1)
예시 2)
● Block class 에서 static 객체가 생성될 때 단, 한 번만 실행되는 구간을 의미합니다.
예시 3)
● Math 클래스는 static으로 되어있기 때문에 객체 생성 따로 안 해줘도 된다. PI는 상수
● static 객체를 생성하지 않아도 접근하여 쓸 수 있다.
'🎨 Programming > JAVA' 카테고리의 다른 글
[JAVA] 17. 추상클래스(abstract) (0) | 2020.06.29 |
---|---|
[JAVA] 16. 다형성 & instanceOf 연산자 (0) | 2020.06.28 |
[JAVA] 14. 상속 (0) | 2020.06.21 |
[JAVA] 13. 객체 지향 프로그래밍(Object Oriented Programming) / 은닉화 (0) | 2020.06.19 |
[JAVA] 12. 메인(main) 메서드 / 스트링(String) 클래스 (0) | 2020.06.19 |