여정의 기록
[Dart] 인스턴스 이름 옆에 : 이거는 뭔가요? 본문
728x90
Dart Constructors 를 살펴보다가 아래와 같은 코드를 마주했습니다.
const double xOrigin = 0;
const double yOrigin = 0;
class Credit {
final double x;
final double y;
Credit(this.x, this.y);
Credit.origin() : x = xOrigin, y = yOrigin;
}
Credit.origin() ? 그 옆에 : 는 뭐지?
Credit.origin() : x = xOrigin, y = yOrigin; // Named constructor
위 코드를 풀어 쓰자면 다음과 같습니다.
Credit.origin() : x = xOrigin, y = yOrigin; // Named constructor
인스턴스명.생성자명() : 인스턴스 변수 초기화;
여기서 : 콜론과 ; 세미콜론 사이의 내용은 'initializes instance variables' 한 것이며, 해당 인스턴스 생성자의 실행 본문이 아닙니다.
여기서는 지금 실행 본문이 비어져있지만, 만약 본문을 채워넣는다면 아래와 같은 형태가 됩니다.
Credit.origin() : x = xOrigin, y = yOrigin {
print('Credeit Origin constructor is called');
}
만약 어딘가에서 origin 생성자를 실행한다면,
origin() 생성자 호출 -> instance variables 초기화 -> 본문 순으로 실행됩니다.
앞서 x, y 값을 final로 설정해두었기 때문에 한번만 값 설정이 가능한데 딱 한번만 설정하기 위해서 위 코드처럼 : 뒤에 인스턴스 변수를 초기화를 해주는 것입니다.
728x90
'Work & Growth > Flutter (Dart)' 카테고리의 다른 글
| [Flutter, Dart] async, await 가 정말 이해안될때 보는 글 (0) | 2025.10.12 |
|---|---|
| firebase notification 설정시 1번/n번 을 한 번에 메시지 보내기 (0) | 2025.10.03 |
| Flutter와 WebView(React) 데이터 공유하기에 대해서 (0) | 2025.09.29 |
| How to communicate between Flutter - React (WebView) (0) | 2025.09.29 |