달달한 스토리

728x90
반응형

 

요즘 꾸준히 플러터를 학습 중이다.

 

어느 정도 학습하고 간단하게 프로젝트를 만들어 봐야겠다.

 

오늘은 플러터에서 사용되는 const와 final에 대해서 알아보려고 한다.

 

우선 이 두 가지에 대해 알려면 컴파일 타임과 런타임에 대해서 알고 가야 한다.

 

1. Compile Time

 

컴파일은 보통 C언어나 자바 같은 객체지향 언어에서 소스코드가 작성되고,

 

컴퓨터가 인식할 수 있게 작성된 코드를 기계어로 변환하여 실행 가능하는

 

프로그램을 만드는 과정이라고 할 수 있다.

 

안드로이드 스튜디오에서는

이 버튼을 누르면 제일 첫 번째로 컴파일이 된다고 할 수 있다.

 

즉, 컴퓨터가 알 수 있게 기계어로 변환되는 과정이라고 할 수 있다.

 

2. Run Time

 

두 번째로는 런타임이다.

 

런타임은 컴파일 과정을 마치고, 응용 프로그램이 사용자에 의해

 

실행되어지는 때를 의미한다.

 

즉, 앱이 실행되어 화면에 띄워지는 때를 의미한다.

 


흔히 컴파일 타임 에러나 런타임 에러는

 

각각에 상황에서 나타는 오류라고 명확히 나눠 설명할 수 있는 것이다.

 

 

런타임 에러는 보통 

- 0 나누기 오류

- 널 참조 오류

- 메모리 부족 오류

 

로 나뉘고,

 

컴파일 타임 에러는

 

1. Syntax 에러

2. Type check 에러

 

로 나뉜다.

 


그렇다면 const와 final은?

 

우선 이 const와 final로

 

한번 지정한 변수는 다시 재설정을 할 수가 없다는 공통점이 있다.

 

하지만, 이 둘의 차이점은 있다.

 

우선 const는 컴파일타임 상황에서 상수를 설정하고, (런타임 X)

 

final은 컴파일 상황은 물론 런타임 상황에서도 결정되는 값을 상수로 설정할 수 있다.

 

 

한 마디로 어떤 시점에서 상수를 설정하느냐에 대한 차이라고 할 수 있다.

728x90
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading