Flutter/Flutter
왜 자꾸 const를 쓰라고 하는거지?
복복씨
2024. 8. 26. 13:25
UI를 만들고 있는데, 수많은 노란 줄이 뜬다
다 const를 쓰라는 요청인데, 자세히 읽어보면 Use 'const' with the constructor to improve performance 라고 나온다.
즉 const의 사용이 퍼포먼스 향상에 도움이 된다는건데, 왜인지 살펴보도록 하자
const는 상수를 쓸 때 썼던 키워드다
컴파일 타임에 값을 고정하는 개념으로, 불변성을 보장한다
즉 const의 역할은
1. 객체를 재사용하고,
2. 불필요한 빌드를 방지하며, 런타임 연산을 줄임으로써 성능을 최적화하는 것이다.
📖 정리
런타임 연산엔 cpu의 자원을 쓴다. const를 쓰면 const로 값을 고정한다. (더 이상 변하지 않는다)
그렇다면 cpu는 한 번만 값을 기억하면 더 이상 자원을 써도 되지 않게 된다. 고정된 값은 메모리에서 계속 재사용하면 되므로.
+) 그렇다면 같이 상수를 선언하는 final도 퍼포먼스 향상에 도움이 될까? final도 잠깐 짚고가 보자
final: 런타임에 값을 결정할 수 있는 친구. 값이 런타임 과정에서 결정되고 그 이후에 변이후에는 값이 변경되지 않도록 보장함! 따라서 얘도 성능 최적화에 도움이 되긴한다 (const만큼은 아님), 참조하는게 결정되는거라서 객체 내부는 변경될 수 있다.
이 친구도 변수의 재할당을 막아 불필요한 연산과 메모리 낭비를 줄이며, 런타임 성능을 최적화함.