-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
#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); 은 왜 안되는 걸까요??
찾아봐도 안나와서 질문드립니다ㅠㅠ
답변을 작성해보세요.
0
코드팩토리
지식공유자2022.08.17
안녕하세요 final 생성자는 애초에 존재하질 않습니다.
인스턴스를 const로 만들고싶으시면 const 생성자를 선언하시면 되고 final 인스턴스를 만들고싶으시면 어떤 생성자든 상관없이 그냥 final 키워드를 사용하시면 됩니다. 예를들면 아래와 같습니다.
final idol = Idol()
생성자가 무엇이냐는 전혀 상관 없습니다
답변 1