심화 문법 공부 후 개인 과제 중 Product class 선언 파트를 구현했다.

선언한 클래스에 map과 for문을 사용하여 리스트에 클래스를 추가했다. 

 

과제 설명 일부

 

전체 Code

class Product {
  String name;
  int price;

  Product(this.name, this.price);
}

void main() {
  Map<String, int> products = {'shirts': 1000, 'skirt': 5000, 'pants': 20000};

  List<Product> productList = []; // Product 객체를 저장할 리스트 생성

  // for문을 사용하여 Product속성에 Map 데이터를 입력하고 리스트에 추가
  for (var key in products.keys) {
    productList.add(Product(key, products[key]!));
  }

  // 결과 출력
  for (var product in productList) {
    print('${product.name}/ ${product.price}won');
  }
}

 

결과

shirts/ 1000won
skirt/ 5000won
pants/ 20000won

 

 

 

 

클래스 선언 파트

class Product {
  String name;
  int price;

  Product(this.name, this.price);
}

Product 라는 클래스를 선언해 주고 name, price라는 속성을 부여한다.

 

 

Product(this.name, this.price);

원래 이 부분은

Product(String name, int price) {
    this.name = name;
    this.price = price;
  }

이렇게 작성하지만, 위와 같이 짧게 줄여쓸 수 있다.

해당 코드를 이용해 초기값을 설정하지 않은 속성이 null로 처리되는 것을 막고 후에 부여할 값을 사용할 수 있다.

 

 

클래스의 생성자 매개변수에 할당값 전달 파트

void main() {
  Map<String, int> products = {'shirts': 1000, 'skirt': 5000, 'pants': 20000};

  List<Product> productList = []; // Product 객체를 저장할 리스트 생성

  // for문을 사용하여 Product속성에 Map 데이터를 입력하고 리스트에 추가
  for (var key in products.keys) {
    productList.add(Product(key, products[key]!));
  }

  // 결과 출력
  for (var product in productList) {
    print('${product.name}/ ${product.price}won');
  }
}

데이터가 map 형식으로 제공되었으므로, Product 객체를 저장할 리스트를 생성한다.

 

for-in문을 사용하여 각각의 key와 value를 각 클래스의 name, price에 부여한다.

리스트를 사용하기 때문에

for (초기화식, 조건식, 증감식) {...}

문보다 for-in의 사용이 더 간단하다.

 

for, for-in 등 루프문의 사용법과 차이점은

https://dart.dev/language/loops

 

Loops

Learn how to use loops to control the flow of your Dart code.

dart.dev

위 문서를 참고했다.

 

 

 

 

 

추가 참고 문서

https://dart.dev/language/constructors

 

Constructors

Everything about using constructors in Dart.

dart.dev

 

'Dart' 카테고리의 다른 글

[Dart] 비동기 프로그래밍 - Future  (0) 2025.03.14
[Dart] 콘솔 쇼핑몰 트러블슈팅  (0) 2025.03.13
[Dart] 메서드의 사용  (0) 2025.03.12
[Dart] List, Set 개념 및 차이점  (0) 2025.03.11
1주 1일차 - Dart 문법  (0) 2025.03.07
Summary
Flutter 앱개발 캠프에 합류를 완료했고, 앱개발 종합반 1주차 강의 수강을 시작함.
Dart 문법 중 변수, 반복문을 학습함.

 

 

변수

변수란?

: 값을 담아두는 곳. 타입을 지정해 값을 넣어두고, 이름을 사용하여 호출할 수 있다.

 

변수 선언 예시

int intValue = 2;
string stringValue = "문자열";

 

int, string 등 변수 타입을 먼저 선언하고 이름을 붙인 뒤 값을 넣는다.

var를 선언하는 경우 타 변수 타입과 달리 값을 인식하여 타입을 정해줄 수 있다. 

 

 

반복문

for 반복문

: 반복 작업을 할 때 사용함

 

for 반복문 사용 예시

for(var i = 1; i <=1000, i++) { sum += i; }

 

for 괄호 내의 첫 번째 영역: 반복 시작 시점

두 번째 영역: 반복 종료 시점

세 번째 영역: 증감값

대괄호 내 영역: 로직

 

예시코드는 i값이 1에서부터 시작하며, i값이 1000보다 같거나 커지면 끝난다. 매번 반복할 때마다 i값에 1을 더한 값을 새로운 i로 사용한다.

 

 

 

 

 

돌아보기
더 많은 양을 공부할 수 있을 줄 알았는데, 세팅 등에 시간을 많이 소모한 점이 아쉬움.
앞으로의 공부 계획에 개발환경 세팅과 같은 변수를 고려해 미리 준비를 할 수 있도록 해야겠음.

 

+ Recent posts