[Kotlin] 2. 변수와 자료형

오도원공육사·2021년 5월 20일
0

코틀린 기초문법

목록 보기
2/13

1. 주석

// 한줄 주석

/* 
	여러
	줄
	주석
*/

2. 코드구문 구분

  • 코틀린은 세미콜론(;)을 붙이지 않아도 된다.
  • 규칙만 지키면 언어차원에서 구문의 끝을 알아서 판단한다.

3. 표기법

  • 클래스 이름 → ClassName 파스칼 표기법
  • 함수, 변수이름 → variableName, functionName 카멜 표기법

4. 변수 선언 var, val

4-1. var

  • 일반적인 변수 선언
  • 언제든지 읽기 쓰기가 가능하다.

4-2. val

  • 선언시에만 초기화 가능
  • 값을 변경할 수 없다.
  • runtime시 변경되지 않아야하는 값은 val로 선언하는 것이 안전

4-3. 변수의 이름

  • 변수는 선언 위치에 따라서 두 가지 이름으로 나뉜다.
  • 클래스 내부에서 선언하는 경우 property(속성)
  • 이외의 scope 내에서 선언하는 경우에는 local variable(지역 변수)

5. 연습

5-1. 변수 선언

메인함수에 정수형 변수를 하나 만들어보자.

fun main() {
	// 변수이름 a, 자료형 Int
	var a: Int
	println(a)
}

  • 변수 a는 반드시 초기화되어야 한다
  • 고전적인 언어에서는 초기화하지 않으면 기본값으로 초기화 되거나 null값을 가진다.
  • 코틀린은 기본 변수에서 null을 허용하지 않는다.
  • 변수에서 값을 넣지않으면 에러를 발생시켜 컴파일을 막는다.

5-2. 값 할당

  • 변수를 참조하여 사용하기 전까지만 할당하면 된다.
fun main() {
	var a: Int = 123 
	println(a)
}

5-3. nullable 변수

  • ?를 붙이면 null이 가능한 nullable 변수가 된다.
  • nullable 변수는 null point exception이 발생할 수 있으므로 주의해서 사용해야한다.
fun main() {
	var a: Int?
	println(a)
}

6. 기본 자료형

참고. Basic types | Kotlin

자바와의 호환을 위해 자바와 거의 동일하다.

6-1. 숫자형

  • Byte : 8(bits)
  • Short : 16
  • Int : 32
  • Long : 64

숫자 리터럴

  • 카드 번호나 주민등록번호, 굉장히 큰 숫자같은 경우에 사용할 수 있다.
  • 밑줄(_)로 숫자를 구분할 수 있다.
var cardNum: Long = 1234_5678_2345_9876L

6-2. 진수

  1. 10진수

    • 기본형

    • Long 타입일 경우 숫자 끝에 L을 붙이다.

      예시) var LongValue:Long = 1234L

  2. 16진수

    • 0x를 앞에 붙인다.
  3. 2진수

    • 0b를 앞에 붙인다.
  4. 8진수(지원안함)

6-3. 실수형

  • Float : 32
    • 끝에 f를 붙인다.
  • Double : 64
    • 기본형
    • 지수표기법 가능 var expValue:Double = 123.5e10

6-4. 문자형

  • 기본적으로 UTF-16BE로 다룬다. 따라서 글자하나가 2byte이다.

  • Char

    • 문자하나를 작은 따옴표(')로 감싸서 표기한다.

    • var charValue:Char = 'a'

      위와 같은 특수문자를 지원한다.

6-5. 진리형

  • Boolean
  • var booleanValue: Boolean = true
  • var booleanValue: Boolean = false

6-6. 문자열

  • 한줄 " "
  • 여러 줄 """ """ → 줄바꿈, 특수문자 그대로 사용가능
fun main() {
	val stringValue = "one line String test"
	val multilineStringValue = """multiline
	String
	test!\\\!@#$!#$!#"""
}
profile
잘 먹고 잘살기

0개의 댓글

관련 채용 정보