Dart 의 Const vs Final

김민진·2022년 7월 11일
0

flutter_문법

목록 보기
4/4

Dart 에서의 Const 와 Final

인터넷 자료로 이미 Const 와 Final의 차이는 널리 알려져 있다.

간단한 예시로..

const now = DateTime.now(); X

final now = DateTime.now(); O

윗줄은 컴파일 단계에서 값을 알 수 없으니 X

아랫줄은 그 이후의 과정이므로 O

라는 것이다.

그치만.. 린트를 사용한다면 Class에 const를 붙이라는 메시지를 확인할 수 있을것이다.

class Test extedns StatefulWidget{
....
}

Container(
child:const Test()
)

와 같은 코드를 볼 수 있을것이다.

클래스에는 왜 const 가 붙는걸까??

저 클래스에 내부에 일어나는일 모든것을 다 컴파일 단계에서 계산을 하는걸까?

const를 좀 더 파보니... const에 할당된 것은 메모리 주소가 바뀌면 안된다고 한다.

class의 메모리 주소는 고유하지만 내부의 값을 바뀌는?? 형태로 보여진다.

그래서 class에도 const가 붙을 수 있나보다.

한가지 궁금한거는 매개변수가 들어가는 생성자가있는? class는 const가 붙지 못한다.

저 부분에 대한 궁금증은 아직 풀리지 않았다..

좀더 알아봐야겠다.

profile
dart,c#,java 개발자! 잡다하게 해서 문제될게 없다!

0개의 댓글