본문 바로가기
Flutter기초

[Flutter / 플러터] Flutter에서 타입을 쓰는 이유?

by Alkaloid 2021. 4. 30.
반응형

Flutter는 기본적으로 타입을 사용하지 않아도, 타입추론을 통해 해당 타입이 어떤 타입인지 알수있다,

 

c,c++,java 등 대부분의 언어에서는 타입을 명시해야한다.

예)

int num =10;

char word = 'a';

 

하지만 플러터에서는 타입을 사용하지 않아도 타입추론을 통해 에러가 뜨지 않는다.

예)

num=10;

word='a';

 

그럼 굳이 타입을 명시하지 않아도 되는것이 아닐까? 왜 귀찮게 하나하나 명시를 해줄까?

그이유는 간단하다.

 

우리가 만약 하나의 프로그램을 짠다고 생각해보자.

-두 정수의 합을 구해주는 프로그램.

 

우리는 이런식으로 작성할 수있다,

 

int addnum(int a,int b){

    return a+b;

}

void main(){

print(addnum(1,2));

}

 

이것이 우리가 알고있는 프로그램이다. 그럼 타입추론이 가능하니 타입을 빼도 되지 않을까?

addnum(a,b){

    return a+b;

}

void main(){

print(addnum(1,2));

}

 

물론 잘 작동한다.


 

하지만 문제를 잘 볼 필요가 있다.

현재 문제는 "두 정수의 합을 구해주는 프로그램" 이다.

그렇기 때문에 타입을 사용하지 않은 코드를 썼을 경우

addnum(a,b){

    return a+b;

}

void main(){

print(addnum(1,2.222));

}

=> 결과는 3.222 가 나온다.

 

그럼 우리가 작성하고자 하는 프로그램이 정상 작동하는 것일까? 답은 아니다. 이다.

오류와 에러없이 돌아가는 코드라고 정상작동한다고 할수는 없다.

우리가 짜고자하는 조건을 만족해야 정상 작동한다고 볼 수 있다.

 

위의 코드에서 addnum()함수에 int 로 명시를 해준다면, 오류가 났을 것이다. 

그럼 우리는 "두 정수의 합"을 구해야하기 때문에 소수가 입력되었을 때, 오류가 난다는 것을 알고 수정한다.

 

정확하고 명확한 프로그램을 작성하기 위해 타입을 명시해줘야한다.

반응형