인프런 커뮤니티 질문&답변

김시현님의 프로필 이미지
김시현

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Dart #1 기본기

final 질문이 있어요.

작성

·

287

0

섹션 0, dartpad 기본기인 첫 번째 영상을 보고있는데요.

Set함수를 배우는 부분에서 final Set<String> names = { ... 하셨는데,

제가 영상 앞에서 배우기로는 final은 타입을 따로 주지 않아도 되고, 값을 바꿀 수 없다는 걸로 배웠는데

제가 따로 테스트해본 결과

(1): final Set<> names ... 로 작성 -> 타입이 없다며, 오류발생.

(2): names.add("") -> final로 선언을 하면, 값을 바꿀 수 없는걸로 아는데 값이 추가가능함.

이 부분에서 앞에서 배운 final 개념이 혼동이 와서 이렇게 질문을 남겨봅니다.

리스트에서의 final은 다른 개념인건가요?

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

1번 질문은 제가 잘 이해 못하겠습니다.

Set<여기에 타입 입력> <<- 리스트처럼 제너릭에 타입을 입력해줘야하는데 이걸 안해서 문제 되시는게 맞을까요? 아니라면 다시 질문 부탁드립니다.

2번의 경우 Set의 각각 값들은 바꿀 수 있습니다. final Set names; 이렇게 선언할 경우 names 변수를 직접 변경은 불가합니다.

names = Set.from([])

위 코드는 불가합니다 names 변수는 final이라 변경이 불가하기때문이죠.

names 변수와 names 변수에 “추가할” 변수는 다른 선언입니다.

답변이 충분하지 않다면 다시 질문 주세요!

감사합니다!

김시현님의 프로필 이미지
김시현
질문자

답변 해주셔서 감사합니다 ^^

김시현님의 프로필 이미지
김시현

작성한 질문수

질문하기