작성
·
165
0
안녕하세요.
17:06분부터 설명해주시는 const constructor에 대한 질문입니다.
기존 Idol(this.name, this.members); 앞에 const를 붙이고, 위에서도 const를 붙이면 컴퓨터가 true라고 인식하는 것은 이해했습니다.
다만, final과 const의 차이점은 둘 다 고정값으로 박을 수 있는데 final 은 값이 없어도 사용가능하고, const는 설정된 값이 있어야지 사용할 수 있다고 이해했습니다.
그렇다면 const대신 final을 사용할 수 있지 않을까라는 생각이 들어 적용해봤는데 error 가 뜹니다. 해당 constructor 앞에 final을 사용하려면 다른 조건이 필요한건지, final은 해당 부분에 적용이 불가한 것인지 너무 궁금합니다.
final Idol(this.name, this.members); 은 왜 안되는 걸까요??
찾아봐도 안나와서 질문드립니다ㅠㅠ
답변 1
0
안녕하세요 final 생성자는 애초에 존재하질 않습니다.
인스턴스를 const로 만들고싶으시면 const 생성자를 선언하시면 되고 final 인스턴스를 만들고싶으시면 어떤 생성자든 상관없이 그냥 final 키워드를 사용하시면 됩니다. 예를들면 아래와 같습니다.
final idol = Idol()
생성자가 무엇이냐는 전혀 상관 없습니다