오늘은 const 와 final에 대해서 작성해 볼려고 합니다.
앞선 변수 1,2 탄 내용 정리가 있으니 level1 이나 앞전 게시글을 참고하시면 좋을듯 해요~
보통 final 과 const 는 변수를 선언할때 코드 맨 앞에 사용한다.
final String name = '김무개';
name = '강무개';
-> error
final 과 const 는 한번 선언한 뒤로 변수의 값을 변경할 수 없다.
final name = '강무개';
그러면 혹시 두개의 차이를 알고 계신가요? 과연 final과 const 의 차이는 뭘까?
final DateTime now1 = DateTime.now(); // ok
const DateTIme now2 = DateTime.now(); // error
여기서 const 로 선언한 now2는 에러가 발생한다, 이유는
const = 빌드타임
final = 런타임
빌드 타임은 작성하는 순간에 코드의 값을 알아야 합니다. 하지만 시간같은 경우 저 클래스가 언제 사용될지 작성하는 순간에는 알수가 없기 때문에 final에서는 에러가 발생하지 않지만 const로 선언했을 경우 에러가 나타나는 현상을 알수 있습니다.
int number = 1;
// number가 정말 int 인지 확인 하는 방법!
print(number is int); // true
print(number is! String); // true
// 이런 식으로 분기를 작성할수 있고 반대 되는 상황도 연출 할수가 있습니다.
&& = and
|| = or
우리는 프로그래밍 언어를 쓰다보면 꼭 보게되는 조건이다.
print(2 > 1 && 1 > 2); false
print(2 > 1 || 1 > 2); true
가운데 조건만 바꿧는데 bool 값이 다르게 출력되는 것을 볼수 있다
&& 같은 경우 둘다 참이여야 하고 || 같은 경우 하나만 참이면 된다.
이것으로 변수 부분 파트를 마무리 하겠다.