# Til - 250112

# \[TIL\] Flutter & Dart 학습

## 📚 오늘 배운 것

강의 중간에 챌린지 있는 부분은 항상 좋은 것 같음.

텍스트 스타일링 하는 방법

커스텀 위젯 생성 방법

* 플러터는 위젯으로 구성되어 있고, 위젯 트리는 점점 확장되게 됨. 확장되는 위젯 트리의 확장성등을 위해 별도의 위젯 으로 빼기.
    

## 🤔 내 생각

* \[궁금한 점\]
    
    * 위젯에 key가 필요한 이유?
        
        * key는 Flutter에서 위젯을 효율적으로 관리하고, 위젯의 상태를 유지하며, 위젯을 고유하게 식별하는 데 중요한 역할을 합니다. 위젯을 사용할 때 key가 필요한지 여부를 판단하고, 적절한 key를 사용하는 것이 중요합니다.
            
        * Flutter에서 key를 명시적으로 전달하지 않으면, Flutter는 위젯의 타입과 위치를 기반으로 암시적인 key를 사용합니다. 이러한 암시적인 key는 대부분의 경우 잘 작동하지만, 위젯의 순서가 변경되거나, 동일한 타입의 위젯이 여러 개 있을 때 문제가 발생할 수 있습니다. 따라서 위젯의 상태를 유지하거나, 위젯을 고유하게 식별해야 할 때는 명시적으로 key를 전달하는 것이 좋습니다.
            
    * 생성자에도 const가 붙는 의미?
        
        * Flutter에서 const 생성자는 컴파일 시간에 객체를 생성할 수 있도록 합니다. 즉, 런타임에 객체를 생성하는 것이 아니라, 컴파일 시점에 객체를 생성하여 메모리에 저장합니다.
            
        * 불변 객체에 대한 정의 용도로 붙이는 것으로 보임.
            
        * **생성자 자체에 const 키워드를 직접 붙이는 언어는 Flutter (Dart) 외에는 거의 없다.**
            
* \[비판적 분석\]
    
    * 요런식으로 단계별로 학습하는 건 좋긴 하지만, 시간이 오래 걸리는 것 같음.
        
    * 또 갑자기 위젯 진행하다가 클래스 설명. 뭔가 맥이 끊김. 분명 해당 부분에 대해 모르는 사람도 있겠지만..
        
* \[실무 적용시 고려사항\]
    
    * 챌린지의 경우도 원래라면 해당 문서를 확인하고 어떤 기능이 있는지 확인? 한다던가 함수 내부를 봐야 되는데, 현재 cursor ide 테스트 중인데 아래 처럼 입력해도 알아서 적용하여 제안을 해주는 상태.
        
        ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1736648269898/4cb1b71f-4bc4-4f59-acb5-24cef88ec886.png align="center")
        

## 💡 참고 자료

* \[추가로 찾아본 내용\]
