CS 질문
- 값 형식과 참조 형식의 차이에 대해 설명해주세요.
- 값형식: 변수가 값을 담는 데이터 형식 (데이터를 스택에 저장) 값을 저장하는 가장 작은단위로 값자체를 변수에 저장하기 때문에
값이 없음
을 의미하는 null
은 저장되지 않는다.
- 참조형식: 변수가 값 대신 값이 있는 주소를 담는 데이터형식 (데이터를 힙에 저장) 주소를 저장하기 때문에 null을 할당하면 어떤 객체도 가리키지 않는다.
kotlin은 기본적으로 모두 null값을 가질 수 있다. null이 저장되지 않는 기본자료형은 지원하지 않는다. 대신 boxed type을 이용해 참조한다.
boxed type은 기본 자료형을 객체로 다루기 위한 개념이다. boxed type을 사용해 기본자료형을 객체로 감싸서 기본 자료형을 객체로 다룰 수 있다.
Android 질문
- val 과 var 의 차이는?
- val: value의 약자로 불변(immutable) 변수이고 일기만 가능해 변하지 않는다.
- var: variable의 약자로 가변형(mutable)변수이고 값이 언제든 바뀔 수 있다.