개발(코딩)/Dart&Flutter

Dart&Flutter 기초 (3) - 클래스(Class)

아는 개 산책 2024. 3. 17. 16:14

이전 글:

2024.03.12 - [Dart&Flutter] - Dart&Flutter 기초 (2) - 함수(functions)

 

Dart&Flutter 기초 (2) - 함수(functions)

DartPad dartpad.dev 1. Normal Function 일반적인 함수 형태이다. C/C++과 유사하다. 함수 이름 : getMax 입력 파라미터 : argv1, argv2 --> var 변수 (정수,실수,문자열 등을 저장하며 값의 변경이 가능하지만, 타입

dev-ho.tistory.com

 

기초적인 숫자와 문자

 

1. int - 정수

-9,007,199,254,740,992~9,007,199,254,740,992

 

2. double - 실수

최대 1.7976931348623157e+308

 

3. num - 숫자

정수 혹은 실수

 

4. String - 문자열

글자, 단어 혹은 문장

 

5. var - 변수

정수, 실수, 문자열 등을 저장하며, 값의 변경 가능

(한번 값을 저장하고 나면, 같은 타입의 값을 저장해야 함)

 

6. dynamic - 변수

정수, 실수, 문자열 등을 저장하며, 값의 변경 가능

(저장하는 값의 타입에는 제한 없음)

 

7. constant - 상수

처음 만드는 시점에 값을 설정하며, 값의 변경 불가능

 

기본 연산 예제
기본적으로 연산자들은 C++과 동일하다.

[1] 5 1 6 1.5 1 1
[2] 5 4 4

대표 메서드

 

1. int

1) abs - 절대값

2) gcd - 최대 공약수

3) toString - 문자열로 변환

 

2. double

1) abs - 절대값

2) toString - 문자열로 변환

3) floor - 소수점 이하를 버리고 가까운 정수를 계산 (내림)

4) round - 가까운 정수를 계산 (반올림)

 

3. String

1) toLowerCase - 소문자로. 변환

2) toUpperCase - 대문자로 변환

3) length - 길이를 계산

4) substring - 문자열의 일부를 추출해서 새로운 문자열 생성

5) [] - 문바열의 특정 글자를 지칭

 

4. bool

1) toString - 문자열로 변환

2) is - 왼쪽의 변수/상수가 오른쪽의 타입인지 검사

3) is! - 왼쪽의 변수/상수가 오른쪽의 타입이 아닌지 검사

 

데이터 저장 클래스 (List, Set, Map)

 

1. List 클래스 - 복수 데이터

   (Python과 마찬가지로 하나의 List에 다양한 타입을 저장할 수 있다.)

 

- 메서드

1) length - 리스트에 속한 항목의 개수를 계산

2) first - 리스트에 속한 첫번째 항목을 확인

3) last - 리스트에 속한 마지막 항목을 확인

4) indexOf - 리스트에 속한 특정 위치의 항목을 확인

5) insert - 리스트의 특정 위치에 새로운 항목을 추가

6) add - 리스트의 끝에 새로운 항목을 추가

7) addAll - 리스트의 끝에 (전달받은 리스트의) 모든 항목을 추가

8) sort - 리스트의 항목을 순서대로 정렬

9) clear - 리스트의 모든 항목을 삭제

[01] iList is [1, 2, 3, 4, 5] [02] Length of iList is 5 [03] First element of iList is 1 [04] Last element of iList is 5 [05] Index of 3 in iList is 2 [06] iList after insert(2, 99) is [1, 2, 99, 3, 4, 5] [07] iList after add(6) is [1, 2, 99, 3, 4, 5, 6] [08] iList after addAll([7,8,9]) is [1, 2, 99, 3, 4, 5, 6, 7, 8, 9] [09] iList after sort() is [1, 2, 3, 4, 5, 6, 7, 8, 9, 99] [10] iList after clear() is []

 

2. Set 클래스 - 집합 데이터

 

- 메서드

1) add - 집합에 새로운 항목을 추가

2) addAll - 전달받은 집합의 모든 항목을 새로운 항목으로 추가

3) contains - 집합에 특정 항목이 있는지 확인

4) intersection - 두 집합의 교집합을 계산

5) difference - 두 집합의 차집합을 계산

6) union - 두 집합의 합집합을 계산

7) remove - 집합에서 특정 항목을 삭제

8) runtimeType - 클래스 객체의 타입을 알려줌

[01] setFill with add(3) : {1, 2, 3} [02] set1 with addAll({3, 4, 5}) : {1, 2, 3, 4, 5}

 

3. Map 클래스

    (Python의 Dictionary 클래스와 동일하게 고유한 key값과 그에 상응하는 하나의 value값을 갖는다.)

 

-메서드

1) length - Map에 포함된 항목의 개수를 계산

2) runtimeType - Map의 클래스 타입을 알려줌

3) isEmpty - Map에 포함된 항목이 비어 있음을 확인

4) isNotEmpty - Map에 포함된 항목이 비어 있지 않음을 확인

5) addAll - Map에 전달받은 항목(들)을 추가

6) containsKey - Map에 포함된 항목에 특정 key가 포함되어 있는지 확인

7) containsValue - Map에 포함된 항목에 특정 value가 포함되어 있는지 확인

8) remove - Map에서 특정 항목을 삭제

9) clear - Map에 포함된 모든 항목을 삭제

Map의 생성 - "key" : "value" 가 한 쌍을 이룸
위 코드의 출력값

 

(Map의 이름)["(key의 이름)"] 을 통해 value를 불러올 수 있다.
위 코드의 출력값

 

코드 출처:

https://github.com/drsungwon/DART-FLUTTER-BOOK

 

GitHub - drsungwon/DART-FLUTTER-BOOK: 풀스택 개발이 쉬워지는 다트 & 플러터 (영진닷컴)

풀스택 개발이 쉬워지는 다트 & 플러터 (영진닷컴). Contribute to drsungwon/DART-FLUTTER-BOOK development by creating an account on GitHub.

github.com