데브허브 | DEVHUB | 다트 기초 문법 - 16일차 / factory 생성자다트 기초 문법 - 16일차 / factory 생성자
- 팩토리 생성자는
factory 키워드를 생성자 앞에 붙여 객체 생성 방식을 제어할 수 있게 합니다. 🛠️
- 일반 생성자와 달리 객체 생성을 조건부로 수행하거나, 특정 조건에서 아예 생성을 막을 수 있습니다. 🚫
- 팩토리 생성자는 내부 로직을 통해 이미 생성된 객체를 반환하거나 (싱글턴 패턴), 조건에 따라 다른 타입의 객체를 반환할 수 있습니다. 🔄
- 객체 생성을 제어하는 핵심적인 기능으로, 특정 매개변수가 유효하지 않을 경우 예외를 발생시켜 객체 생성을 중단시키는 로직 구현이 가능합니다. 🛑
- 싱글턴(Singleton) 디자인 패턴 구현에 활용되어, 애플리케이션 전체에서 단 하나의 인스턴스만 존재하도록 보장할 수 있습니다. ☝️
- Flutter 프레임워크에서도
GlobalKey나 Navigator와 같이 조건에 따라 다양한 객체를 생성하거나 반환하는 데 팩토리 생성자가 사용됩니다. 🚀
- 팩토리 생성자는 복잡한 객체 생성 로직을 캡슐화하고, 객체 생성 여부 및 반환 타입을 개발자가 직접 제어할 수 있도록 돕는 강력한 도구입니다. 🧠