본문 바로가기
Skills/Dart

Dart에서의 super 키워드

by Hoseok 2024. 2. 7.
728x90
반응형

 

 

Flutter에서 super 키워드의 역할과 중요성


Flutter 개발을 하다 보면, 다양한 위젯을 사용하게 됩니다. 

 

이러한 위젯들은 각자의 역할과 기능을 가지고 있으며, 때때로 우리는 기존 위젯을 확장하여 새로운 기능을 추가하거나 기존 기능을 수정해야 할 필요가 있습니다. 

 

이 과정에서 super 키워드의 이해는 Flutter 위젯 구조와 상속 메커니즘을 이해하는 데 중요한 역할을 합니다.


super 키워드란?


Dart에서 super 키워드는 부모 클래스의 생성자를 호출하는 데 사용됩니다. 

 

자식 클래스에서 부모 클래스의 속성이나 메서드를 사용하고자 할 때 super를 통해 이에 접근할 수 있습니다. 

 

특히 생성자에서 super를 사용하는 경우, 부모 클래스의 생성자를 명시적으로 호출하여 초기화 작업을 수행할 수 있습니다.


Flutter 위젯에서 super의 사용


Flutter에서 위젯을 설계할 때, 우리는 종종 StatelessWidget 또는 StatefulWidget을 확장하여 새로운 위젯을 만듭니다. 

 

예를 들어, SocalCard라는 커스텀 위젯을 만들 때, 다음과 같이 부모 클래스의 생성자를 호출할 수 있습니다:

class SocalCard extends StatelessWidget {
  const SocalCard({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // 위젯 구성
  }
}


여기서 super(key: key); 구문은 StatelessWidget의 생성자를 호출하며, key 매개변수를 전달합니다. 

 

key는 위젯을 고유하게 식별하는 데 사용되며, Flutter 프레임워크가 위젯 트리에서 위젯을 효율적으로 재구성하고 관리하는 데 도움을 줍니다.


super의 중요성


super 키워드의 사용은 상속 구조에서 매우 중요합니다. 

 

Flutter에서 위젯을 개발할 때, super를 통해 부모 클래스의 생성자를 적절히 호출하는 것은 다음과 같은 이유로 중요합니다:

초기화: 부모 클래스에 정의된 필수 초기화 작업을 수행할 수 있습니다.


유연성: 자식 클래스에서 부모 클래스의 기능을 확장하거나 수정할 수 있는 유연성을 제공합니다.


일관성: 위젯 트리에서 위젯의 일관된 동작을 보장합니다.

 

 

 

 

 

728x90
반응형

'Skills > Dart' 카테고리의 다른 글

final과 const의 차이  (1) 2024.02.07
Dart의 필수, 선택적, 명명 매개변수 알아보기  (0) 2024.02.06
[Dart문법] 변수  (0) 2023.02.05