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 로 명시를 해준다면, 오류가 났을 것이다.
그럼 우리는 "두 정수의 합"을 구해야하기 때문에 소수가 입력되었을 때, 오류가 난다는 것을 알고 수정한다.
정확하고 명확한 프로그램을 작성하기 위해 타입을 명시해줘야한다.
'Flutter기초' 카테고리의 다른 글
[flutter / 플러터] VSCode 코드 정리하는 방법 (0) | 2021.05.06 |
---|---|
[Flutter / 플러터] 깃허브 연동(fatal: remote origin already exists.[출처] fatal: remote origin already exists.) (0) | 2021.04.26 |
[Flutter / 플러터] 프로젝트 살펴보기(폴더 구조) (0) | 2021.04.25 |
[Flutter / 플러터] Widget (0) | 2021.04.25 |