코틀린 강좌 #1 변수와 자료형

Kotlin/기본 문법 · 2020. 12. 9. 15:15

테크과학! DiMo

 

테크과학! DiMo

개발자가 얘기하는 생활 속 IT기술에 대한 과학! 여러분이 몰랐던, 혹은 정확히 알지 못했던 IT 테크놀러지를 파드립니다! 좋은 영상을 위한 채널 후원, 투네이션을 통해서 해주세요! 후원링크 htt

www.youtube.com

 

코틀린 공부 목적

  • 자바 개발자로서 자바 외의 JVM 위에서 동작하는 언어에 대한 학습

 

  • 자바 개발자로서 웹 혹은 앱 개발에 쓰일 가능성이 있는 언어이므로 학습해 두면 추후에 도움이 될 것이라 예상

 

 

 

위와 같은 목적으로 코틀린을 학습하고자 한다.  학습 방법은 테크과학! DiMo의 코틀린 강좌를 따라 해 보면서 요약하는 방식이 될 것이다.

 

 

개발 환경: play.kotlinlang.org


 

  • 주석
    • 1줄 주석: // 주석
    • 여러 줄 : /* */

 

  • 클래스 이름 
    • 파스칼 표기법(ClassName) 모든 문자 대문자로 시작

 

  • 변수나 함수 이름
    • 카멜 표기법(functionName)

 

  • 변수 선언법
    • var : 일반적으로 통용되는 변수 - 언제든지 읽기 쓰기가 가능하다.
    • val : 선언 시에만 초기화 가능하다. 중간에 값을 변경할 수 없다. runtime 시 변경되지 말아야 할 값은 안전하게 'val'로 선언하는 것이 좋다. 

 

  • 변수의 종류(선언 위치에 따른 구분)
    • Property(속성) : 클래스에 선언된 변수
    • Local Variable(로컬 변수) : 이 외의 Scope 내에 선언된 변수

 

  • nullable 변수
    • var a:Int
      println(a)
      코틀린은 기본 변수에서 null을 허용하지 않고, 변수에 값을 할당하지 않은 채로 사용하게 되면 문법 Error를 발생시킨다. 따라서 의도치 않은 동작이나 NPE를 원천적으로 차단해준다.
    • var c:Int? = null 
      하지만 의도적으로 null을 사용하고 싶다면, nullable 위와 같은 방식으로 nullable 변수로 선언할 수 있다.
  • 기본 자료형: 자바와 거의 동일
    • 정수형
      • Byte 8 bits
      • Short 16bits
      • Int 32 bits
      • Long 64bits
    • 실수형
      • Float 32bits
      • Double 64bits 
    • 문자형
      • Char
    • Boolean
    • 문자열
var longValue:Long = 1234L
var intValueByHex:Int = 0x1af
var intValueByBin:Int = 0b10101010
 
// 8진수는 코틀린에서 지원x

var doubleValue: Double = 123.5
var doubleValueWithExp: Double = 123.5e10
var floatValue:Float = 123.5f

코틀린은 내부적으로 문자열을 유니코드 인코딩 중 한 방식은 UTF-16BE
따라서 글자 하나하나가 2bytes의 메모리 공간을 사용.

var charValue:Char = 'a'
var koreanCharValue:Char = '가'

Boolean
var booleanValue:Boolean = true

문자열
val 변수명 = "문자열"
val stringValue = "one line string test"
val multipleLineStringValue = """multiline
string
test"""

"""여러줄의
문자열""" : 줄바꿈이나 특수문자까지 그대로 문자열로 사용할 수 있다.