본문 바로가기

프로그래밍 독학/Kotlin 기초 강좌

디모의 코틀린 강좌 이해 돕기 #8 - 클래스, 인스턴스와 참조의 이해

반응형

디모의 코틀린 강좌 이해 돕기 #8 - 클래스, 인스턴스와 참조의 이해

 

이 포스팅은 아래 영상의 이해를 돕기 위해 만들어졌음을 밝힙니다.

 

https://www.youtube.com/watch?v=oF3oV98JJuY&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=8

 

 

 

 

 

//해석해보았습니다.

 

 

 

var a = Person("박보영", 1990)

-> a라는 변수를 선언하고, Person 클래스의 인스턴스를 생성하여 그 변수 공간에 할당한다. 그 인스턴스의 속성은 name은 박보영이고 birthYear는 1990이다.

 

 

 

println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.")에서

 

a.birthYear

-> a라는 공간에 참조된 인스턴스의 birthYear속성,

a.name

-> a라는 공간에 참조된 인스턴스의 name속성.

 

 

 

a.introduce()

-> a라는 공간에 참조된 인스턴스의 introduce함수를 호출한다.

 

 

 

 

여기서 "참조" 개념

 

 

메모리 어딘가에 저장되어있는 데이터의 좌표를 찍어주는 것, 혹은 경로를 알려주는 것인데

 

쉽게 생각해 바로가기파일을 만드는 것이라고 생각하면 된다고 합니다.

 

이 경우에선 메모리 어딘가에 저장된 박보영 인스턴스를 a라는 변수 공간에 할당할 때

 

그 인스턴스가 a 공간에 직접 오는 것이 아니라 a라는 공간에는 박보영 인스턴스의 좌표, 주소만 찍혀있는 상태인 거죠.

 

 

 

 

https://opentutorials.org/course/743/6507

 

참조 - 생활코딩

복제 전자화된 시스템의 가장 중요한 특징은 복제다. 현실의 사물과 다르게 전자화된 시스템 위의 데이터를 복제 하는데는 비용이 거의 들지 않는다. 바로 이러한 특징이 소프트웨어를 기존의 산업과 구분하는 가장 큰 특징일 것이다. 프로그래밍에서 복제가 무엇인가를 살펴보자. var a = 1; var b = a; b = 2; console.log(a); // 1 결과 1 결과는 당연하다. 값을 변경한 것은 변수 b이기 때문에 변수 a에 담겨있는 값은 그대로이다.

opentutorials.org

참조 개념은 위 강의에 자세한 설명이 나와있습니다.

 

참조와 복제의 차이를 이해하고 위 설명을 다시 보면 이해가 쉬울 것입니다.

반응형