flutter 입문 - 변수2

houndhollis·2023년 10월 29일
1

변수2 내용 정리

앞 내용을 보지 않으신 분들은
https://velog.io/@houndhollis/flutter-%EC%9E%85%EB%AC%B8#2%EB%B3%80%EC%88%98-%EC%84%A0%EC%96%B8

여기를 참고해주시기 바랍니다!

flutter 에서는 변수의 타입을 줄수 있습니다.

1. 타입 선언

  정수
  int number1 = 1;
  int number2 = 3;
  
  실수
  double number3 = 1.5;
  double number4 = 0.5;
  
  // Boolean
  bool isTrue = true;
  bool isfalse = false;
  
  // 글자 타입, s 는 대문자
  String name1 = '김무개';
  String name2 = '강무개';

여기서 궁금 한점
var name = '김아무개';
String name = '강아무개';

그러면 var, String의 차이는 뭘까? var 같은 경우 오른쪽 타입을 유추해서 사용한다. 그러면 var 를 쓰면 되지 왜 타입을 쓰는가? 모든 타입을 다 var를 쓰고 코드를 작성하다 보면 알아보기 힘들고 직접 명시 해주는게 좋다, 만약 복잡한 타입이 나올 경우 (명시하는 가치가 없는경우) var 사용

1-1 콘솔 찍기

  String name1 = '김무개';
  String name2 = '강무개';

  print('${name1} ${name2}'); // 김무개 강무개
  print('$name1 $name2'); // 생략 해도 같은 값 출력

2. dynamic 타입

우리는 var 타입을 이용해서 변수 선언을 해봤다 하지만 String 타입일 경우 다른 타입으로 변수를 재할당 해줄순 없지만 dynamic 타입을 이용할 경우 우리는 String 타입을 다시 int 타입을 넣을 수가 있다. 이것이 dynamic이다.

dynamic name3 = '오무개';
  
var 타입이랑 비슷하다. 다른점 타입 변경이 가능하다.
name3 = 2; 
print(name3); // 2

3. nullable, non-nullable

nullable - null 이 될수 있다.
non-nullable - null 이 될수 없다.

  String name = '김무개';
  
  name = null;
  
  print(name) // error

위에 보듯이 이 상태에서는 null 타입을 넣을 수가 없다.

  int? number = 1; // type 옆에 물음표를 넣어서 널이 가능하도록.
  print(number); // 1
  
  number = null;
  print(number); // null
  
  number ??= 3;
  print(number); // 3
  
  number 오른쪽이 null 일 경우 디폴트값 다른 타입으로는 변경 불가
  
  널이 절대로 올수 없는 경우
  print(number!) 느낌표를 붙여준다.

??= 를 통해서 디폴트 값을 설정할 수 있다. 다른타입은 불가능

이상으로 간단한 변수 타입에 대해 설명을 하였고 다음에는 const 와 final에 대해서 정리해보는 시간을 가져보겠다.

profile
한 줄 소개

0개의 댓글