플러터 함수 호출 앞에 const 붙이는게 된 이유
위의 플러터 앱 진입점에 있는 main() 함수에서, 예전에는 안 붙이던 MyApp() 앞에 const 가 붙게 되었습니다. runApp( const MyApp()); 이거나 const MyApp({super.key}); 이 곳에 const 는 왜 붙이게 되었는가? Flutter에서 const 키워드를 사용하는 것은 최적화와 관련된 중요한 부분입니다. const 키워드를 사용하여 위젯을 선언하면, Flutter는 그 위젯을 위젯 트리에 한 번만 생성하고, 다시 빌드할 필요가 없는 경우 재사용합니다. 이것은 특히 상태가 변하지 않는(static) 위젯에 유용합니다. 이전 버전의 Flutter에서는 const의 사용이 필수적이지 않았습니다. 하지만, Flutter의 성능을 향상시키고, 앱의 메모리 사용량을 줄이기 위해 const 키워드의 사용이 점점 더 권장되었습니다. const를 사용하는 주요 이점은 메모리 효율성: const로 생성된 객체는 컴파일 시간에 생성되며, 런타임에는 같은 객체를 재사용합니다. 이는 메모리 사용량을 줄이는 데 도움이 됩니다. 성능 향상: const 위젯은 상태가 변하지 않으므로, Flutter 프레임워크가 위젯을 다시 빌드할 필요가 없습니다. 이는 렌더링 성능을 향상시키는 데 도움이 됩니다. 코드 가독성: const를 사용하면 해당 객체가 변경 불가능하다는 것을 명확하게 알 수 있으며, 이는 코드의 가독성과 유지 보수성을 향상시킵니다. 예를 들어, runApp(const MyApp());에서 const MyApp()은 MyApp 위젯이 상태를 가지지 않고, 그 인스턴스가 변경될 필요가 없음을 나타냅니다. 마찬가지로, const MyApp({super.key});는 MyApp의 생성자가 항상 동일한 인스턴스를 반환하도록 보장합니다. 이러한 최적화는 특히 대규모 앱 또는 복잡한 UI를 가진 앱에서 더욱 중요해집니다. 따라서 최신 Flutter 개발에서는 const의 사용이 더욱 강조되고 있습니다....