접근 제어자 (Access Modifier)
- public
- 동일 패키지의 모든 클래스와 다른 패키지의 모든 클래스에서 사용 가능
- protected
- 동일 패키지의 모든 클래스와 다른 패키지의 자식 클래스에서 사용 가능
- default
- 동일 패키지의 모든 클래스에서 사용 가능
- private
- 동일 클래스에서 사용 가능 (캡슐화)
- Getter/Setter 함수를 통하여 접근하도록 허용
생성자 함수 (Constructor)
- 생성자 (Constructor)
- 클래스 객체가 생성될 때(new로 인스턴스 생성하면) 자동으로 호출되는 메소드
- public 클래스이름() { … } 형태
- 매개변수 없이도 만들 수 있고 오버로딩으로 매개변수를 넣어서 만들 수 있다. 호출 시에 매개변수를 주어서 초기화 가능
- 부모 클래스에 기본 생성자가 있을 때 자식 인스턴스 생성 시, 자동으로 부모 클래스 기본 생성자가 먼저 호출된다.
- static 키워드
- new 인스턴스 객체 생성 없이 바로 메서드나 변수를 사용 가능하도록 하는 키워드
- 함수나 변수 제일 앞에 static을 붙여주면 사용 가능
- staitc 함수 안에서는 this를 사용할 수 없다.
- 메인에서 사용 시 클래스이름.static함수나 변수이름 형식으로 값을 가져온다.
- ex) StaticClass.a;
싱글톤 패턴
- 싱글톤 객체 (Singleton pattern)
- 프로그램 안에서 유일한 클래스 객체
- new를 사용하여 여러개의 객체를 찍어낼 수 있지만 모두 주소값이 같은 객체를 만들어 낸다.
- 유일한 객체가 필요한 이유는 유일한 정보를 저장하기 위함이다.
- 싱글톤 생성
- 예시
-
class SingletonClass { private static SingletonClass singleton; public static SingletonClass getInstance() { if (singleton == null) { singleton = new SingletonClass(); } return singleton; } } // 메인 영역(psvm) SingletonClass single1 = SingletonClass.getInstance(); SingletonClass single2 = SingletonClass.getInstance(); // 다른 객체 두개를 만들었지만 주소값은 같다. System.out.println(single1); System.out.println(single2);
-
- 예시
'Java' 카테고리의 다른 글
[Java] Abstract, Interface (0) | 2024.03.13 |
---|---|
[Java] 상속, Override (0) | 2024.03.13 |
[Java] static, void, this (0) | 2024.03.13 |
[Java] 객체(Object), Class, Method (0) | 2024.03.13 |
[Java] Array (0) | 2024.03.13 |