돌아오신 것을 환영합니다
이번 영상에서는 객체의 프로퍼티 값을 바꾸는 방법을 살펴볼 것입니다
우리의 경우 Daisy가 1살이라는 것을 알고 있습니다
그것은 여기에서 정의되었기 떄문입니다
요약하자면 우리가 만들 Dog의 이름은 Daisy고 품종은 미니어처 푸들이고
1살이라고 알려주는 것입니다
그리고 dasiy의 age를 덮어씌울 수 있습니다
따라서 daisy.age를 입력한 다음 2살이라고 해봅시다
그런 다음 실행하기 전에 println()을 하나 더 추가하여 "A year has passed"(1년 후)를
입력합니다
그리고 다시 실행해 봅시다
그럼 Daisy가 태어났습니다
Daisy가 멍멍합니다
말하자면 세상에 나온 것을 스스로 자축하는 것입니다
그리고 Daisy는 미니어처 푸들이고 현재는 1살입니다 그리고 1년이 지납니다
짠
Daisy는 미니어처 푸들이고 2살입니다
이런 식으로 값을 덮어씌워 프로퍼티에 접근할 수 있었습니다
객체가 정의되어 있는 클래스 외부에서 이러한 특성들에 접근하는 것입니다
보시다시피 age를 2로 바꿨습니다
그럼 daisy의 이름도 바꿀 수 있을지 확인해 봅시다
daisy.name = "Hello world"(안녕 세상아)입니다
하지만 이 이름을 지어줄 수가 없습니다
우선 강아지의 이름으로 쓰기엔 바보 같은 이름입니다
우스꽝스럽습니다
아마도 그렇습니다
하지만 그것보다도 여기서 말하기를
할 수 없다고 합니다
val은 재할당될 수 없다고 합니다
그러므로 객체가 생성될 당시에만 값을 할당하고 싶다면
val 키워드를 사용할 수 있습니다
만약 나중에라도 바꾸고 싶다면 var 키워드를 사용해야 합니다
이 age처럼 나중에라도 바꾸고 싶을 때 바꿀 수 있습니다
객체가 생성된 이후에도 말입니다
이는 객체에 접근을 제한하는 아주 간단한 방법입니다
내부나 외부에서 값을 덮어씌울 수 있는지 없는지 여부를 말입니다
따라서 name을 덮어씌울 수 없는 것입니다
그래서 이런 식으로도
재할당할 수 없는 것입니다
이 방법도 안 되는 이유는 name 자체가 초기화 이후 수정되는 것이 제한되어 있기 때문입니다
제가 보여드리고 싶었던 것은 여기까지입니다
그럼 다음 영상에서 뵙겠습니다