라벨이 다트인 게시물 표시

Dart에서 final과 const

Flutter 개발자가 가장 많이 헷갈리는 키워드 중 하나가 바로 final 과 const 가 아닐까요? 두 키워드는 '값을 바꿀 수 없다'는 공통점 때문에 비슷해 보이지만, 실제로는 동작 시점과 불변성의 범위가 완전히 다르답니다. 두 키워드의 차이를 명확하게 이해할 수 있도록 정리해보겠습니다. ✔ final 키워드란? Dart에서 fin…
Dart에서 final과 const

[Dart] factory 생성자, 왜 쓰는 걸까요? (flutter)

코딩을 하다 보면, 객체를 만들어야 하는데 생성자 매개변수가 딱 맞지 않을 때가 있습니다. 이럴 때를 위해 Dart에는 factory 키워드와 함께 생성자를 호출할 수 있어요. 케이크를 만들기 위해 밀가루(flour)와 계란(egg), 2가지 재료가 필요하다고 가정해…
[Dart] factory 생성자, 왜 쓰는 걸까요? (flutter)

[Dart] fold 함수, for문을 다르게 사용하는 방법 (flutter)

"리스트의 모든 숫자 더하기", "장바구니의 총금액 계산하기"... 코딩을 하다 보면, 리스트(List)에 담긴 여러 데이터를 조합하여 하나의 결과를 만들어 내야 할 때가 정말 많습니다. 가장 먼저 떠오르는 방법은 역시 …
[Dart] fold 함수, for문을 다르게 사용하는 방법 (flutter)

[Dart] .. 뜻? Cascade notation. (cascade operator)

다트에서 ..의 뜻에 대해 알아보도록 합시다~ 아래 코드는 Dart에서 리스트를 셔플(shuffle)하고 첫 번째 요소를 가져오는 기능을 간결하게 구현한 방식입니다.  final List<Map<String, String>> categories …
[Dart] .. 뜻? Cascade notation. (cascade operator)

[Dart] Equatable 리스트의 연결 방법은 +

abstract class SleepTimeState extends Equatable { const SleepTimeState(); final DateTime timestamp = DateTime.now(); // 공통 속성 @override List<Object> get props => [timestamp]; // 공통…
[Dart] Equatable 리스트의 연결 방법은 +

[Dart] Equatable 여러 속성 추가하는 방법 (flutter)

Equatable 을 사용하여 여러 final 속성을 props 에 포함시키려면, 해당 속성들을 List<Object> 로 반환해 주면 됩니다. 여러 개의 속성을 사용하고 싶다면, 간단하게 리스트에 각 속성을 추가하면 됩니다. 예를 들어, final in…
[Dart] Equatable 여러 속성 추가하는 방법 (flutter)

[Dart] Equatable 하위 클래스 extends 여부? (flutter)

만약 하위 클래스 에서 부모 클래스의 props 를 사용하지 않고 항상 오버라이드하여 자신의 상태만을 비교한다면, Equatable 을 직접 상속하는 것과 큰 차이가 없습니다. 기본 예시 코드~ abstract class SleepTimeState extends E…
[Dart] Equatable 하위 클래스 extends 여부? (flutter)

[Dart] Equatable 상속할 때, 하위 클래스는 모두 get 을 오버라이드 해야 할까요? (flutter)

Equatable 을 상속받을 때, 하위 클래스는 반드시 props 를 오버라이드할 필요는 없습니다. 하지만, 만약 하위 클래스에서 객체의 동등성을 판단하는 데 필요한 추가적인 프로퍼티가 있다면, 그 프로퍼티를 props 에 포함시켜야 합니다. 예시코드~ abstr…
[Dart] Equatable 상속할 때, 하위 클래스는 모두 get 을 오버라이드 해야 할까요? (flutter)

[Dart] const와 final 공통점과 차이점? (flutter)

Flutter 개발을 하면서 가장 자주 마주치는 두 키워드가 바로 const 와 final 입니다. Dart에서 const 와 final 은 변수 선언 시 변경 불가능한 값을 정의하는 데 사용됩니다. 하지만 이 둘은 미묘한 차이점을 가지고 있고, 사용 목적과 상황에 …
[Dart] const와 final 공통점과 차이점? (flutter)

[Dart] RunApp(const MyApp()); vs runApp(MyApp()); (flutter)

runApp(const MyApp()); 와 runApp(MyApp()); 사이의 차이는 const 키워드의 사용 여부에 따른 차이입니다. 이 차이는 성능 최적화와 불변 객체와 관련이 있습니다. 1. const MyApp() 사용 runApp(const MyApp…
[Dart] RunApp(const MyApp()); vs runApp(MyApp()); (flutter)

[Dart] mainAxisAlignment, crossAxisAlignment (flutter)

Flutter에서 AxisAlignment는 main과 cross가 있습니다. 2개의 차이는 Row에 대해 적용하느냐, Column에 대해 적용하느냐에 따라 차이가 있는데요, main은 기본을 뜻하지요? 그리하여 row와 같이 행, 가로가 기준일 때에는 가로방향을 뜻…
[Dart] mainAxisAlignment, crossAxisAlignment (flutter)

[Flutter] async async* yield yield* (Dart)

플러터에서 async async* yield yield* 에 대해 알아보도록 합시다. 애스터리스크(*)가 마치 포인터처럼 보이는데, 그건 아니고요, 😊 특수문자가 없으면 계산 결과(result of an asynchronous computation), 특수문자가 있…
[Flutter] async async* yield yield* (Dart)

[Dart] ... operator 스프레드 연산자 뜻 (flutter)

... 으로 시작하는 연산자가 궁금하신가요? 스프레드 연산자(spread operator)라고 하는데요, 여러 항목을 컬렉션에 추가할 때에 사용할 수 있습니다. 살펴보시지요. ... operator (스프레드 연산자) '다트'에서 스프레드 연산자(&#…
[Dart] ... operator 스프레드 연산자 뜻 (flutter)

[Flutter] Building with plugins requires symlink support 해결 방법 (Dart)

플러터에서 Building with plugins requires symlink support 오류가 발생하였을 때, 해결 방법에 대해 알아보도록 합시다. Launching lib\main.dart on Windows in debug mode... Exception…
[Flutter] Building with plugins requires symlink support 해결 방법 (Dart)
이전최근
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗