모바일 개발하는 자바리안의 메모장

Flutter - Factory 생성자 본문

Flutter

Flutter - Factory 생성자

자바리안 2022. 11. 3. 21:57
반응형

해당 키워드가 붙는 생성자는 새로운 인스턴스를 만들지 않고 하나의 인스턴스만을 사용하게 된다.

class ClassA {
  static final ClassA _classA = ClassA._internal();

  factory ClassA() {
    return _classA;
  }

  ClassA._internal() { }
}

기본적인 싱글톤 패턴 코드이다. 자 이제 해당 class의 객체 2개를 만들어 비교해보자.

ClassA classA1 = ClassA();
ClassA classA2 = ClassA();

debugPrint((classA1 == classA2).toString()); // true

다른 2개의 객체의 주소값이 같음을 확인할 수 있다. 

 

만약 새로운 인스턴스도 생성해줘야 할 필요가 있는 class라면 일반 constructor를 추가하여 조화롭고 유연하게 instance를 생성할 수 있다.

 

 

반응형
Comments