본문 바로가기
Flutter/Flutter

왜 자꾸 const를 쓰라고 하는거지?

by 복복씨 2024. 8. 26.

무수한 const의 요청

 UI를 만들고 있는데, 수많은 노란 줄이 뜬다

 

다 const를 쓰라는 요청인데, 자세히 읽어보면 Use 'const' with the constructor to improve performance 라고 나온다.

즉 const의 사용이 퍼포먼스 향상에 도움이 된다는건데, 왜인지 살펴보도록 하자


const는 상수를 쓸 때 썼던 키워드다

컴파일 타임에 값을 고정하는 개념으로, 불변성을 보장한다

 

즉 const의 역할은 

1. 객체를 재사용하고,

2. 불필요한 빌드를 방지하며, 런타임 연산을 줄임으로써 성능을 최적화하는 것이다.

📖 정리

런타임 연산엔 cpu의 자원을 쓴다. const를 쓰면 const로 값을 고정한다. (더 이상 변하지 않는다)
그렇다면 cpu는 한 번만 값을 기억하면 더 이상 자원을 써도 되지 않게 된다. 고정된 값은 메모리에서 계속 재사용하면 되므로.

 

 


 

+) 그렇다면 같이 상수를 선언하는 final도 퍼포먼스 향상에 도움이 될까? final도 잠깐 짚고가 보자

 

final: 런타임에 값을 결정할 수 있는 친구. 값이 런타임 과정에서 결정되고 그 이후에 변이후에는 값이 변경되지 않도록 보장함! 따라서 얘도 성능 최적화에 도움이 되긴한다 (const만큼은 아님), 참조하는게 결정되는거라서 객체 내부는 변경될 수 있다.

이 친구도 변수의 재할당을 막아 불필요한 연산과 메모리 낭비를 줄이며, 런타임 성능을 최적화함.