static, singleton pattern

김민영·2023년 1월 23일
0

Java

목록 보기
13/14

Static 변수

  • 불변하는 변수에 선언
  • 자바는 Static 변수에 메모리 할당을 한 번만 한다. - 메모리 사용 이점
  • 공유 - 불변하기에 같은 곳의 메모리 주소만을 바라 봄. : static 변수의 값을 공유

Static 메소드

  • 클래스 내부에 static 메소드를 선언하면, 객체 생성 없이 메소드를 사용할 수 있다.
    • 클래스명.메소드명 으로 사용 가능
  • 유틸리티성 메소드 작성 시 주로 사용
    • ex. 오늘 날짜 구하기, 숫자에 콤마 추가하기

Singleton pattern

  • 단 하나의 객체만을 생성하도록 강제하는 패턴. 유일성 보장
  • 생성자를 private로 만들면, 다른 클래스에서 new를 이용하여 생성할 수 없게 된다.
class Singleton{
    private static Singleton one;
    private Singleton() {
    }

    public static Singleton getInstance() {
        if (one==null) {
            one = new Singleton();
        }
        return one;
    }

}

public class test {

    public static void main(String[] args) throws IOException {

        Singleton singleton1 = Singleton.getInstance();
        Singleton singleton2 = Singleton.getInstance();
        
        System.out.println(singleton1);
        System.out.println(singleton2);
        
        System.out.println(singleton1 == singleton2); // true
    }
}
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글