Flutter 시작하기_02

DevDiary·2024년 9월 6일

Flutter

목록 보기
2/5
post-thumbnail

Dart Lang

플러터는 나 빼고 모두가 알다시피 다트언어를 사용하는 프레임워크다
개발사는 구글이며 몇 가지 간단한 특징을 짚어보자

  • Java와 유사하면서 JS와 비슷한 문법도 존재
  • 객체지향 프로그래밍
  • 플러터의 크로스플랫폼 개발언어

DartPad

https://dartpad.dev/
플러터의 코드펜 같은 사이트인 것 같다.
여기서 바로 Dart를 실행해 볼 수 있음

Main 함수

누가봐도 이 function처럼 생긴 모양은 function이 맞다.
그 중 이 main function은 모든 프로그램의 시작점이라고 한다.

void main() {
  for (int i = 0; i < 10; i++) {
    print('hello ${i + 1}'); //console과 같은 역할을 하는 메서드인듯하다.
  }
}



변수

앞서 함수와 마찬가지로 변수 선언도 굉장히 익숙한 느낌의 형태인데

void main() {
  String name = "벨로그";
  print(name);

  int age = 30;
  print(age);
}

이렇게 변수를 선언 및 할당한다 한다.

변수의 타입은 크게 네가지가 있다.(더 있지 않을까)

  • String : 문자열 변수에 담을 때 홑따옴표(') 혹은 쌍따옴표(")로 감싸야한다.
  • int : 정수(소수는 안된다)
  • bool : 참/거짓
  • double : 소수까지 표시

특이한건 String은 앞에 대문자, int등 나머지는 앞에 소문자라는 것.

int vs double

int의 경우 정수만 표시 가능하고 double은 소수점까지 표시가 가능하다.

void main() {
  double tall = 150.5;

  print(tall);
}

문제 없이 잘 나오지만 int로 바뀌면

void main() {
  int tall = 150.5;

  print(tall);
}

이러한 에러가 뜬다.

그러면 내 개인적인 생각은 ... "dobule이 더 낫지 않나?"
라고 생각했지만 역시 클로드는 똑똑해

플러터(정확히는 다트 언어)에서 int와 double을 구분하는 것에는 여러 가지 이유가 있습니다. 일견 double이 더 유연해 보일 수 있지만, 두 타입을 구분하는 데에는 다음과 같은 장점이 있습니다:

메모리 효율성:

int는 일반적으로 32비트나 64비트를 사용합니다.
double은 항상 64비트를 사용합니다.
정수만 필요한 경우 int를 사용하면 메모리를 절약할 수 있습니다.


연산 속도:

정수 연산은 일반적으로 부동소수점 연산보다 빠릅니다.
특히 모바일 기기에서 이 차이가 성능에 영향을 줄 수 있습니다.


정확성:

부동소수점 연산은 때때로 정확도 문제를 일으킬 수 있습니다.
예를 들어, 0.1 + 0.2는 정확히 0.3이 아닐 수 있습니다.
정수 연산은 이런 문제가 없어 금융 계산 등에서 중요합니다.


의도의 명확성:

코드에서 int를 사용하면 해당 값이 정수임을 명확히 알 수 있습니다.
이는 코드의 가독성과 유지보수성을 높입니다.


타입 안전성:

명시적인 타입 구분은 컴파일 시점에 더 많은 오류를 잡아낼 수 있게 해줍니다.


특정 연산의 필요성:

일부 연산(예: 비트 연산)은 정수에서만 의미가 있습니다.


다른 언어와의 호환성:

많은 프로그래밍 언어들이 int와 double을 구분합니다.
이는 다른 언어나 시스템과의 인터페이스를 쉽게 만듭니다.



물론, 상황에 따라 double이 더 적합할 때도 있습니다. 그래서 다트는 두 타입을 모두 제공하여 개발자가 상황에 맞는 최적의 선택을 할 수 있게 합니다.

이러한 이유로 데이터의 값이 어떠한 유형인지에 따라 잔머리 쓰지 말고 적절하게 쓰라는 것!


또 변수를 선언할 때 익숙하다 못해 가족같은 "var" 가 있는데
기존 JS에서 사용하는 방법과 완전히 동일한 듯 하다.

profile
약간의 경험에 약간의 운을 더하다

0개의 댓글