

Flutter에서 위젯은 모든 것의 기본 구성 요소이다.
화면에 표시되는 모든 것이 위젯이다.
그 중에서도 StatelessWidget은 상태를 가지지 않는 위젯을 만들 때 사용된다.
StatelessWidget이란?
StatelessWidget은 변경 불가능한(immutable) 속성을 가진 위젯이다. 즉, 한 번 생성되면 변경되지 않는다. StatelessWidget은 자체적으로 상태를 가지지 않으며, 부모로부터 전달받은 속성에 의해서만 결정된다.
예를 들어, 텍스트를 표시하는 Text 위젯이나 아이콘을 표시하는 Icon 위젯은 StatelessWidget의 대표적인 예시이다.
StatelessWidget 생성하기
StatelessWidget을 생성하려면 StatelessWidget 클래스를 상속받아야 한다.
그리고 build 메서드를 구현해야 한다. build 메서드는 위젯의 UI를 구성하는 역할을 한다.
코드 설명:
1. class MyWidget extends StatelessWidget { }
- MyWidget이라는 이름의 클래스를 정의한다.
- 이 클래스는 StatelessWidget 클래스를 상속받는다 즉, MyWidget은 StatelessWidget의 자식클래스이다.
2. const MyWidget({super.key});
- MyWidget 클래스의 생성자를 정의합니다.
- const 키워드를 사용하여 상수 생성자로 선언한다. 이는 생성자가 항상 동일한 인스턴스를 반환함을 의미한다.
- {super.key} 구문은 선택적 매개변수 key를 상위 클래스의 생성자에 전달한다. StatelessWidget의 생성자는 key 매개변수를 필요로 한다.
3. @override
- @override 어노테이션은 상위 클래스의 메서드를 재정의함을 나타낸다.
- 지금 경우에는 StatelessWidget의 build 메서드를 재정의하고 있다.
4. Widget build(BuildContext context) { }
- build 메서드를 정의한다. 이 메서드는 위젯의 UI를 구축하는 역할을 한다.
- BuildContext 타입의 context 매개변수를 받는다. 이는 위젯 트리에서 현재 위젯의 위치를 제공한다.
5. return Container()
- build 메서드는 Container 위젯을 반환한다.
- Container는 자식 위젯을 포함하고 스타일링 및 레이아웃을 제공하는 편리한 위젯이다.
6. child: Text('Hello, World!')
- Container의 child 속성에 Text 위젯을 할당한다.
- Text 위젯은 주어진 문자열을 화면에 표시한다. 여기서는 'Hello, World!'라는 텍스트를 표시한다.
StatelessWidget의 장점
StatelessWidget은 다음과 같은 장점을 가지고 있다.
- 단순하고 이해하기 쉽다.
- 빠르게 렌더링된다.
- 테스트하기 쉽다.
StatelessWidget은 상태를 가지지 않기 때문에 단순하고 이해하기 쉽다.
또한 매번 새로 생성되는 것이 아니라 한 번 생성된 후에는 변경되지 않기 때문에 빠르게 렌더링된다.
마지막으로 상태에 의존하지 않기 때문에 테스트 코드를 작성하기도 쉽다.
'Flutter 초급' 카테고리의 다른 글
콜백 함수 (0) | 2024.09.01 |
---|---|
Controller (1) | 2024.09.01 |
Semantic Versioning (1) | 2024.08.30 |
MainAxisAlignment, CrossAxisAlignmnet (0) | 2024.08.27 |
플러터 위젯 (0) | 2024.08.27 |

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!