[Java] 단 하나의 객체만 생성 (싱글톤 패턴, Singleton pattern) 1. 싱글톤(Singleton) 단 하나의 객체만 만들도록 보장해야 하는 경우에 활용 1. 생성자 앞에 private 접근 제한자 선언 (외부에서 new 연산자로 생성자 호출 불가능) public class Singleton { // 1. 생성자 앞에 private 접근 제한자 선언 private Singleton() { } } 2. 자신의 타입인 정적 필드를 선언하고 자식의 객체를 생성 (초기화, 필드도 접근 불가능하도록 private 선언) public class Singleton { // 2. 자신의 타입인 정적 필드를 선언하고 자식의 객체를 생성 private static Singleton singleton = new Singleton(); // 1. 생성자 앞에 private 접근 제한자 선언 .. Backend/객체 지향 프로그래밍 3년 전
[Java] 정적 멤버 1. 정적 멤버 정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드 정적 메소드, 정적 필드를 클래스 멤버라고 부르기도 합니다. 2. 정적 멤버 선언 static 키워드를 붙여서 정적 멤버를 선언합니다. (static = 고정된) 정적 멤버는 클래스에 고정된 멤버이므로 클래스 로더가 클래스(바이트 코드)를 로딩해서 메소드 메모리 영역에 적재할 때 클래스 별로 관리 클래스의 로딩이 끝나면 바로 사용 가능 public class 클래스 { // 정적 필드 static 타입 필드 [= 초기값]; // 정적 메소드 static 리턴 타입 메소드( 매개변수선언, ... ) { ... } } [정적 필드] 객체마다 가지고 있어야 할 데이터라면 인스턴스 필드로 선언하고, 객체마다.. Backend/객체 지향 프로그래밍 3년 전