• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

#2 OOP 17분 질문

22.08.15 17:10 작성 조회수 133

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()

생성자가 무엇이냐는 전혀 상관 없습니다