Kotlin의 변수 다루기
Java의 경우
1
2
3
4
5
long number1 = 10L; // 1
final long number2 = 10L; // 2
Long number3 = 1_000L; // 3
Person person = new Person("김용준"); // 4
- Java에서 long과 final long의 차이
- 변수의 가변, 불변(read-only)
Kotlin의 경우
1
2
3
4
5
6
7
var number1 = 10L // 가변 / 타입 작성 -> var number1: Long = 10L
val number2 = 10L // 불변
var number3: Long? = 1_000L // null값 허용
var person = Person("김용준") // 객체를 인스턴스화 할 때 new를 붙이지 않는다.
- Kotlin에서
var -> 가변
- ` val -> 불변`var
또는val
을 명시하지 않으면 안된다.
- 타입은 작성하지 않아도 컴파일러가 추론해 주기 때문에 괜찮지만, 원한다면
: 타입
으로 작성해도 된다.- 값을 지정하지 않고 변수를 만들 경우는 타입을 꼭 지정해 줘야 한다.
val
로 작성하면 값을 수정할 수는 없지만, 추가는 가능하다.- ex). List에 add는 가능
- Kotlin은 기본적으로
null
을 사용할 수 없기 때문에null
을 사용하려면: type?
를 사용해야 한다. - Kotlin은 객체를 인스턴스화 할 때 new를 사용하면 안된다.
- tip). 모든 변수를
val
불변으로 작성하고 필요에 따라var
가변으로 수정 - tip). Java에서는
long -> primitive type
-Long -> reference type
- Java는 연산 시에는
reference type
을 사용하지 않는 것이 좋다.boxing
과unboxing
이 일어나면서 불필요한 객체 생성이 이루어 지기 때문
- Java는 연산 시에는
- 하지만, Kotlin은 상황에 따라서
primitive type
과reference type
을 알아서 효율적으로 처리
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.