singletonTest3
package com.icia.example4;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
@AllArgsConstructor
class Saram {
  int height;
}
class SaramService {
  
  private static SaramService service = new SaramService();
private SaramService() {
}
public static SaramService getInstance(){
  return service;
}
public void printWeight(Saram saram){
  System.out.printIn(saram.height-100);
}
}
public class singletonTest3 {
  public static void main(String[] args){
    Saram s1 = new Saram(175);
    Saram s2 = new Saram(180);
    SaramService sevice = SaramService.getInstance();
    service.printWeight(s2);
  }
}
getInstance()
- 싱글턴패턴으로 하나의 인스턴스만 가지고 공유해서 사용.
- 생성자를 private로 선언하여 다른 클래스에서 해당 클래스의 인스턴스를 new로 생성하지 못하게 하고 getInstace()함수를 통해서만 인스턴스를 갖도록 한다.
singletonTest4
class ShopService {
  
  private static ShopService service = new ShopService();
private ShopService(){
}
public static ShopService getInstance(){
  return service;
}
}
public class singletonTest4 {
  public static void main(String[] args){
    ShopService obj1 = ShopService.getInstance();
    ShopService obj2 = ShopService.getInstance();
    if(obj1===obj2) System.out.printIn("같은 서비스 객체");
    else System.out.printIn("다른 서비스 객체");
  }
}