[kotlin] 변수의 값 복사와 참조

변수를 다루는 프로그래밍에서 값의 복사와 참조는 매우 중요한 개념입니다. 값의 복사는 변수의 값을 다른 변수에 복사하는 것을 의미하며, 값의 참조는 변수가 다른 변수를 가리키는 것을 의미합니다.

값의 복사

값의 복사는 기본 데이터 유형(Primitive type)에 대해 이루어집니다. Kotlin에서는 기본 데이터 유형으로 정수(Int), 실수(Float), 문자(Char), 불리언(Boolean) 등이 있습니다.

var num1: Int = 10
var num2: Int = num1 // num1의 값이 num2로 복사됨

위의 예제에서 num1의 값이 num2로 복사되므로, num1num2는 각각 독립적인 값으로 존재하게 됩니다.

값의 참조

반면, 참조 데이터 유형(Reference type)객체(Object)에 대해 이루어집니다. Kotlin에서는 클래스(Class)가 참조 데이터 유형에 속합니다.

class Person(var name: String)

var person1 = Person("Alice")
var person2 = person1 // person1이 가리키는 객체를 person2도 가리킴

위의 예제에서 person1person2에 대입하여 값을 복사하는 것이 아니라, person1이 가리키는 객체를 person2도 가리키게 됩니다. 따라서 person1person2는 동일한 객체를 가리키고 있으므로 해당 객체의 변경은 두 변수에 모두 영향을 미칩니다.

결론

변수의 값 복사와 참조를 이해하는 것은 프로그래밍에서 매우 중요합니다. 이와 관련된 개념을 제대로 숙지하고 적절히 활용한다면, 코드를 더욱 효율적으로 작성하고 버그를 방지할 수 있습니다.

참조