[Flutter] mutable 과 immutable 에 대해서
Dart 언어에서 뿐만 아니라, 다른 개발 언어에서도, 마찬가지로 알고 가야 할 개념인 mutable과 immutable 개념을 알아보자 mutable : 변경가능, immutable : 변경 불가능 예를 들어, class Car { int? id ; String? model ; Car({ this . id , this . model }) ; } void main () { Car car = Car (id: 1 , model: 'm1' ) ; Car car2 = car ; print( 'car, id= ${car. id } , model= ${car. model } ' ) ; car2. model = 'm2' ; print( 'car2, id= ${car. id } , model= ${car. model } ' ) ; print( 'car, id= ${car. id } , model= ${car. model } ' ) ; } 결과값 car, id=1, model=m1 car2, id=1, model=m2 car, id=1, model=m2 car2 에 car를 받아서, car2의 변수를 변경했는데, car2 의 model 변수 뿐아니라, car의 model 변수 값도 변경되었다. 이경우, car의 주소값이 car2에게 복사 된것이므로 같은 주소값을 가지고 있기때문이다, 그래서 car 객체 변수는 mutable 한 것 이다. car2를 다른 주소값으로 갖게하게끔 Car객체를 생성하고 싶다면, Car car2 = car; 대신, Car car2 = Car(id:1, model:'m2'); 라고 새로 객체를 생성해주면, car와 별개의 주소값 을 갖게된다. 다른예로, final name1 = 'David'; const name2 = 'Paul'; 둘다, immutable에 해당하는 변수 이다. 값을 할당하면, 다시 변...