[Swift] Value Type
Int, Float, Bool, String 과 같은 기본 자료형과 struct, enum 은 Value Type 분류 한다.
Init
선언과 동시에 메모리 공간이 생성된다. 그래서 유효한 값으로 초기화 하지 않는 경우 할당된 메모리 공간에 있던 이전 값이 저장 될 수 있다.
이런 값을 쓰레기 값이라고 부른다.
쓰레기 값은 프로그램에서 논리적인 오류의 원인이 되기 쉽다.
Swift 컴파일러는 코드를 통해 명시적으로 초기화 하지 않은 값을 읽으면 오류를 발생시킨다.
LLVM 좋구요!
Stack 영역에 저장
메모리의 Stack 영역에 저장된다.
let num = 10
Variable | Stack |
---|---|
num | 10 |
Call By Value
파라미터로 전달되거나, 리턴 값으로 사용될 때 항상 같은 값을 가진 복사본이 생성된다. copy 된 값을 변경하여도 원본에 영향을 받지 않는다.
deinit
Stack 공간에 생성된 값이 자신이 속한 scope 의 코드 실행이 종료 되면 자동으로 해지된다.
Equal
Stack 공간에 저장된 실제 값을 비교한다.
a == b
댓글남기기