0Pricing
Dart Academy · 강의

명확한 의도를 위한 이름 있는 생성자

여러 가지 생성 방식을 제공합니다

명확한 의도를 위한 이름 있는 생성자은(는) CoddyKit의 무료 Dart Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Dart Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

이름 있는 생성자가 필요한 이유

하나의 클래스에 객체를 만드는 방법이 여러 가지 필요한 경우가 많습니다. 이름 있는 생성자를 사용하면 각 경로에 명확한 이름을 붙여 호출자가 결과를 정확히 알 수 있습니다.

이름 지정 문법

클래스 이름, 마침표, 그리고 이름을 차례로 작성합니다. ClassName.label 형식은 호출 위치에서 짧은 문장처럼 읽힙니다.

class Point {
  int x, y;
  Point.origin() : x = 0, y = 0;
}

이름 있는 생성자 호출하기

이름 없는 생성자와 같은 방식으로 호출하되 이름을 포함합니다. 이렇게 하면 코드에서 객체를 만드는 의도가 분명해집니다.

var p = Point.origin();
print(p.x); // 0

여러 개의 이름 있는 생성자

사용 사례를 설명하는 생성자를 원하는 만큼 추가할 수 있습니다. 여기서는 하나가 빈 장바구니를 만들고 다른 하나가 미리 설정된 장바구니를 만듭니다.

class Cart {
  int items;
  Cart.empty() : items = 0;
  Cart.preset() : items = 3;
}

매개변수를 사용하는 이름 있는 생성자

이 생성자들도 인수를 받을 수 있으므로, 명확한 이름과 사용자 지정 값을 결합해 유연하면서도 읽기 쉬운 팩토리 스타일 진입점을 만들 수 있습니다.

class User {
  String name;
  User.guest(this.name);
}

이름 없는 생성자와 함께 사용하기

클래스는 일반적인 이름 없는 생성자를 유지하면서 옆에 이름 있는 생성자를 추가할 수 있습니다. 일반적인 경우와 특수한 경우를 모두 처리할 수 있습니다.

class Color {
  int value;
  Color(this.value);
  Color.black() : value = 0;
}

서로 다른 데이터 출처 모델링하기

같은 데이터가 JSON 맵이나 원시 값처럼 서로 다른 곳에서 들어올 때 이름 있는 생성자가 특히 유용합니다. 각 출처에 고유한 이름을 붙일 수 있습니다.

class User {
  String name;
  User.fromName(this.name);
}

호출 위치의 가독성

Temperature.celsius(20)를 단순한 숫자와 비교해 보십시오. 이름이 추측할 필요를 없애므로 이름 있는 생성자는 코드를 읽는 사람에게 명확성을 높여 줍니다.

var t = Temperature.celsius(20);

여전히 같은 타입을 만듭니다

어떤 생성자를 호출하든 같은 클래스의 인스턴스를 얻습니다. 이름은 객체가 초기화되는 방식만 바꿀 뿐 타입은 바꾸지 않습니다.

var a = Point.origin();
print(a is Point); // true

this. 축약형과 결합하기

이름 있는 생성자에서도 같은 this.field 축약형을 사용할 수 있으므로, 설명적인 이름을 사용하면서도 초기화 코드를 간결하게 유지할 수 있습니다.

class Box {
  int w, h;
  Box.square(this.w) : h = w;
}

설명적인 이름 선택하기

fromMap이나 withDefaults처럼 결과를 설명하는 이름을 선택하십시오. 좋은 이름은 호출 위치 자체를 문서처럼 만들어 줍니다.

class Config {
  Config.withDefaults();
  Config.fromMap(Map m);
}

빠른 확인

이름 있는 생성자 문법을 빠르게 확인해 보겠습니다.

복습: 명확한 의도

마침표 문법으로 이름 있는 생성자를 추가하고, 이름 없는 생성자와 함께 사용하며, 읽기 쉽고 의도가 드러나는 객체 생성을 위해 매개변수를 전달하는 방법을 배웠습니다. 👍

자주 묻는 질문

“명확한 의도를 위한 이름 있는 생성자” 강의는 무료인가요?

네 — “명확한 의도를 위한 이름 있는 생성자” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Dart Academy 강의 전체를 잠금 해제할 수 있습니다. Dart Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“명확한 의도를 위한 이름 있는 생성자”에서 뭘 배우나요?

여러 가지 생성 방식을 제공합니다 브라우저에서 직접 실행하는 실습 코드로 Dart Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Dart Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Dart Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“명확한 의도를 위한 이름 있는 생성자” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Dart Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Dart Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 기본 생성자와 매개변수가 있는 생성자
  2. 명확한 의도를 위한 이름 있는 생성자
  3. 초기화 목록과 생성자 리디렉션
  4. factory와 const 생성자
← Dart Academy(으)로 돌아가기