inblog logo
|
송승현의 블로그
    플러터

    [플러터]Dart 문법 - 생성자

    송송승현's avatar
    송송승현
    Dec 20, 2024
    [플러터]Dart 문법 - 생성자
    Contents
    정의기본 생성자매개변수를 가진 생성자이름 있는 생성자초기화 리스트팩토리 생성자선택적 매개변수이름 있는 매개변수

    정의

    💡
    클래스의 인스턴스를 초기화하는 메서드
    주로 객체를 생성할 때 필요한 초기 설정을 수행
    Dart에서는 오버로딩을 지원하지 않음
    대신 함수의 선택적 매개변수, 이름있는 매개변수를 활용하여 유사한 기능 구현이 가능
    class Person { int id; String name; late int money; // 나중에 들어옴 or 디폴트 0 String? nickname; // nullable 변수, 있을수도 있고 없을 수도 있는것 // 기본 생성자 Person(this.id, this.name, this.money, this.nickname); // 이름 있는 생성자 Person.fromMap(Map<String, dynamic> m) : this.id = m["id"], this.name = m["name"], this.money = m["money"], this.nickname = m["nickname"] ?? "다른이름"; void init() { if (money == 0) { for (int i = 0; i < 10; i++) { money = money + 1; } } } } void main() { var m = {"id": 2, "name": "임꺽정", "money": 0}; Person p2 = Person.fromMap(m)..init(); print(p2.id); print(p2.name); print(p2.money); print(p2.nickname); }

    기본 생성자

    • 클래스를 정의하면 기본적으로 아무런 매개변수도 없는 기본 생성자가 제공
    • 명시적으로 작성하지 않아도 사용

    매개변수를 가진 생성자

    • 생성자에 매개변수를 추가하여 객체를 초기화할 때 필요한 값을 전달

    이름 있는 생성자

    • 클래스 내에서 여러개의 생성자를 정의할 수 있도록 이름 있는 생성자를 사용
    • 여러가지 초기화 방법을 제공

    초기화 리스트

    • 생성자가 본문을 실행하기 전에 인스턴스 변수를 초기화할 수 있는 초기화 리스트를 사용

    팩토리 생성자

    • 항상 새로운 인스턴스를 생성하지 않고 기존 인스턴스를 반환할 수도 있는 생성자
    • 주로 싱글톤 패턴이나 캐싱에 사용

    선택적 매개변수

    • 매개변수를 정의할 때 중괄호를 사용하여 정의
    • 함수를 호출할 때 생락 가능
    • 기본값을 지정 가능
    • 여러가지 호출 방식을 지원하여 함수를 더 유연하게 사용
    • 불필요한 매개변수를 생략하여 함수 호출을 간결

    이름 있는 매개변수

    • 함수 호출 시 매개변수 이름을 지정하여 값을 전달
    • 기본값을 지정 가능
     
    Share article
    Contents
    정의기본 생성자매개변수를 가진 생성자이름 있는 생성자초기화 리스트팩토리 생성자선택적 매개변수이름 있는 매개변수

    송승현의 블로그

    RSS·Powered by Inblog