일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- JDBC
- Java
- 단축키
- 대덕인재개발원
- Oracle
- servlet
- ddit
- 컬렉션프레임워크
- 배열
- API
- python
- 맥
- jsp
- 자바문제
- ibatis
- 자바
- 생활코딩
- Error
- nodejs
- Android
- pyqt
- Homebrew
- crud
- 객체지향
- Mac
- spring
- FastAPI
- html
- 반복문
- 이클립스
- Today
- Total
romworld
Chapter 06 객체지향 프로그래밍 (2) 본문
싱글톤 (singleton)
- 단 하나의 객체
public class 클래스{
//정적필드
private static 클래스 singleton = new 클래스();
//생성자
private 클래스(){}
//정적 메서드
static 클래스 getInstance(){
return singleton;
}
}
- 싱글톤은 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야한다.
private 제한자를 걸어준다. (참고로 클래스 내부에서는 new연산자로 생성자 호출 가능)
정적 필드도 private 제한자를 붙혀서 필드값 변경을 하지 못하게 막고
대신, 외부에서 호출할 수 있는 정적 메서드인 getInstance()을 선언하고 정적 필드에서 참조하고 있는 자신의 객체를 리턴해준다.
외부에서 객체를 얻는 유일한 방법은 getInstance()메소드를 호출하는 방법이다
getInstance() 메서드는 단 하나의 객체만 리턴하기 때문에 아래 코드에서 변수1과 변수2는 동일한 객체를 참조한다.
클래스 변수1 = 클래스.getInstance();
클래스 변수2 = 클래스.getInstance();
final 필드
- 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램을 실행 도중에 수정할 수 없다.
상수
- 상수는 대문자로 작성하는 것이 관례!
- [static filnal 타입 상수 = 초기값;]
- 한 번 초기값 저장되면 변경할 수 없음!!
- 원주율 파이나 지구의 무게 및 둘레 같은 불변의 값 저장하는 필드
접근 제한자
public : 외부 클래스 다른 패키다 다 가능
protected : 같은 패키지 또는 자식클래스에서 사용 가능
private: 외부에서 사용될 수 없음!!
default : 같은 패키지에 소속된 클래스만 가능
Getter Setter
-필드를 private를 선언하면 getter setter로 메서드를 작성해서 피드값을 안전하게 변경/사용한다.
외부로 전달하는 메서드가 getter 값을 변경하는 역할을 setter
getter 는 리턴타입이 있고, 리턴값을 받는다.
setter는 리턴타입이 void 매개 변수는 필드타입이다.
-source - generate Getters and Seggers 를 누르면 자동 생성 가능!
'JAVA > 개념정리' 카테고리의 다른 글
추상 클래스와 인터페이스 (0) | 2022.10.09 |
---|---|
Chapter 07 상속 (0) | 2022.10.04 |
Chapter 06. 객체지향 프로그래밍(1) (1) | 2022.09.23 |
Chapter 05-4. 다차원 배열, for each (0) | 2022.09.19 |
Chapter 05-3. 정렬, 석차 구하기 (0) | 2022.09.19 |