[kotlin] 변수

백현균·2023년 3월 19일
0

1.코틀린 변수

1) var vs val

코틀린에서 변수 선언 시 var, val타입으로 선언
	* var: 가변 가능, val: 가변 불가
초기 값이 없는 경우
	var
      - 변수 선언 시 명시적으로 타입을 지정해야함
      - 값이 없는 변수를 사용할 경우 에러 발생
    val
      - var와 같이 명시적으로 타입을 지정해야함
      - 값이 없는 변수를 사용할 경우 에러 발생
      - 최초 한번은 값을 할당 할 수 있음
          ex) val num1:Int; num1 = 10;
	  - val형태의 컬렌션이라도 값 add 가능

2) 자바와의 차이점

자바에서는 변수를 선언할 때 값에 대한 타입을 명시
코틀린에서는 컴파일러가 값을 보고 추론하여 타입 지정
	-> 타입을 보여주고 싶을 경우
    	ex) var number1:Ling = 10L;

3) primitive type vs refrerences type

var num1:Long = 1_000L(Long num1 = 1000;)
var num2:Long = 10L(long num2 = 10;)
	-> 하나의 타입에 데이터형, 객체형의 값을 넣어도 코틀린 내부에서 값 
       형태를 보고 알아서 적절히 처리 
       	* 성능 차이에 대한 생각을 할 필요가 없음 
* tools -> kotiln -> show kotlin bytecode로 들어가면 코틀린 
  코드를 자바 코드로 변형해줌
즉, 프로그래머는 박싱 언박싱을 고려하지 않아도 코틀린에서 알아서 이러한 
작업들에 대해서 알아서 처리해줌

2. null 변수 선언

코틀린에서는 자바와는 다르게 기본적으로 변수에 null을 넣을 수 없음
	-> null에 대해 안전한 프로그래밍 가능
null형태를 취급할 경우 타입에 '?' 키워드를 넣어야함
	ex) val num1:Long? = null

3.객체 인스턴스 변수

객체 인스턴스 선언 시 new 키워드를 사용하지 않음
	ex) val person = Person("홍길동")

0개의 댓글