본문 바로가기
Flutter/Dart 입문

[Dart] 3. 데이터, 값, 타입

by Couldi 2021. 10. 6.
반응형

21. 10. 6.

- Could -

 

이 글은 프로그래밍 입문을 Flutter 때문에 Dart로 시작하는 사람들을 위한 글입니다.
프로그래밍 언어가 가지고 있는 기본 컨셉 자체를 Dart라는 언어를 통해 설명하고,
많은 분들이 Flutter를 위해 학습한다고 생각해, 추후 Flutter 학습에 도움이 되는 방향으로 작성되었습니다.
1. 데이터(Data)
2. 데이터 타입(type)
    - Numbers(int, double)
    - Strings(String)
    - Booleans(bool)
3. 데이터 값(Value)
4. 예제

1. 데이터

https://namu.wiki/w/%EB%8D%B0%EC%9D%B4%ED%84%B0

나무위키에서는 데이터를 이렇게 이야기한다.

일단 프로그래밍에서 다루는 데이터는 컴퓨터가 정보를 처리하는 기본 단위이다. 비트(bit)니 바이트(byte)니 그런 내용일 일단 접어두자. 

 

컴퓨터에서 다뤄지는 모든 것들은 데이터다. 사진, 영상, 글, 숫자, 색상 등등 데이터가 아닌 것이 없다. 프로그래밍을 한다는 건 이 데이터들을 어떻게 가공해서 어떻게 보여주고 활용할것인지에 대한 이야기로 생각해 볼 수도 있다.

 

데이터를 다양한 방법으로 부르고 분석해 볼 수도 있지만 여기서는 데이터의 구성요소를 단순히 타입(type)과 값(value)으로 나누어 알아보자.

 

모든 데이터는 타입(type)과 값(value)을 가진다. 프로그래밍은 앞서 설명했듯, 이 데이터를 가공하여 이용하는 과정이다.


2. 데이터 타입(type)

일단 프로그래밍 바닥에서 데이터 타입(type)은 '자료형'이라고 부르기도 하고, 그냥 데이터 타입이라고 부르기도 한다.

위키는 아래 처럼 설명해주고 있다.

포켓몬의 타입과 비슷하다. 수많은 포켓몬을 불타입, 물타입, 풀타입 등으로 분류하는 것과 같다. 프로그래밍에서 이 Type이 중요한 이유는 코드에서 어떤 타입의 자료를 받아 어떤 타입으로 결과물을 산출할지를 고려해야하기 때문이다.

 

Dart가 다루는 자료형들은 아주 일반적인 형태이다.

https://dart.dev/guides/language/language-tour#built-in-types

 

A tour of the Dart language

A tour of all the major Dart language features.

dart.dev

doc에 있는 built-in-types를 참고하자.

알아야될 type들이 뭔가 많이 나온다. 대부분 알아야하는 개념이지만 하나하나 알아가면 된다. 여기서는 Numbers, Strings, Booleans를 알아보자. 

Numbers(int, double) - 숫자형

Numbers는 숫자형이라고 번역된다. 말그대로 숫자인 데이터 타입을 의미하고, 더하고 빼고 하는 사칙연산이 가능한 데이터 타입이다.

숫자형에는 int와 double 두가지 타입이 있는데, int는 정수형,  double은 실수형을 의미한다.

  • int - 10, 256, 0, -17, -25 등등
  • double - 1.3523, 3.14195 등등

숫자형에서 주의할 것은 이 데이터가 숫자로 적혀있는 것인지 문자형으로 적혀있는 것인지 구분을 할 줄 알야하는데 일반적으로 코드작성 할 때, 따옴표 없이 숫자만 사용된다면 숫자형으로 사용된 것이고, 따옴표 안에 숫자가 들어가 있다면 문자형으로 사용된 것이다. 

Strings(String) - 문자형

Strings는 문자형이라고도 한다. 엄밀히 이야기하면 문자열형이라고 해야하는데.. 그렇게 빡빡하게 굴지는 말자.

C에서는 문자와 문자열을 구분해서 타입을 나누지만 Dart는 그렇게 빡빡하지 않으므로! 일반적으로 String이라는 문자열 타입을 주로 사용하며 앞으로 문자형을 써야하면 그냥 아 'String' 을 써야하는구나 생각하면된다.

 

'문자열은 이렇게 따옴표나'
"쌍따옴표를 이용해서 입력한다."

 

위에 처럼 String은 따옴표나 쌍따옴표를 이용해 작성한다.

Tip. 문자열에 '나 "를 넣고 싶을때
코드를 작성하다보면 '나 "기호를 문자열로 표시하고 싶은 경우가 생긴다. 예를 들어 I'm 이나 don't 와 같은 내용을 적어야할 때.
이럴때 문자열을 따옴표를 이용해서 작성하면 내가 원하는 대로 컴퓨터가 읽어주지 않는다.
이런 상황에서는 아래 이미지와 같이 역슬래시\ 를 사용해서 아래와 같이 코드를 적어주면 된다.

 

 

Booleans - 진리형

진리형은 참, 거짓을 다루는 자료형이다. 프로그래밍을 처음 공부하는 입장에서는 이게 왜 필요한가 싶을 수도 있으나, 어떻게 보면 프로그래밍의 가장 근간을 이루고 있는 자료형이라 할 수 있다. 

 

true
false

 

Dart 코드에서는 true나 false라고 적으면 알아서 bool 타입의 데이터타입으로 인식된다.


3. 데이터 값(Value)

이건 말 그대로 데이터의 값을 의미한다.


4. 예제

다음 데이터들의 형(type)과 값(value)을 분류해보자.

 

'Harry'
'101'
10
3.14
true
10 < 7

 

코드블록 기능이 좋아 색깔로 힌트를 주고 있다. 답은 아래와 같다.

 

'Harry' // 자료형(type) - 문자열(String), 값(Value) - Harry
'101'  // 자료형(type) - 문자열(String), 값(Value) - 101
10  // 자료형(type) - 숫자형(int), 값(Value) - 10
3.14 // 자료형(type) - 숫자형(double), 값(Value) - 3.14
true // 자료형(type) - 진리형(bool), 값(Value) - true
10 < 7 // 해설 참조

 

마지막 10 < 7 의 경우는 아직 다루지 않은 연산자에 대한 내용을 알아야 한다. 하지만 상식적으로 10이 7보다 작은 수는 아니지 않는가? 그래서 코드라인 전체로 보면 해당 라인의 자료형은 bool 타입, 값은 false이다. 각 숫자 단위로 보자면 숫자들이므로 숫자형 중에 정수형인 int 타입이고, 값은 각각 10과 7 이라 할수있다. < 는 비교연산자로 추후 다룰 예정이다.

반응형

'Flutter > Dart 입문' 카테고리의 다른 글

[Dart] 6. collection : Lists, Sets, Maps  (0) 2021.10.12
[Dart] 5. 조건문  (0) 2021.10.08
[Dart] 4. 변수와 연산  (0) 2021.10.07
[Dart] 2. 화면에 글자 출력하기  (0) 2021.10.05
[Dart] 1. 소개 그리고 공부준비  (2) 2021.10.03

댓글