본문 바로가기

[Kotlin] 코틀린 기본 - 문법 '변수 / 상수 / 함수 / 자료형 '

Kotlin, 코틀린 기본 문법

기본 문법

변수/상수/함수 선언 방법 및 사용

기본 문법

  • 코틀린은 코드 마지막에 세미콜론(;)을 붙이지 않는다

     : ex) println("Sample TEXT")

  • 변수/상수 명 선언 방법

     : var a: Int = 10    // 변수(Variable), 변경이 가능(mutable)

     
       val b: Int = 20    // 상수(Variable Final), 변경이 불가능(Immutable)

      -> " 변수종류 변수명: 자료형(타입) = 값 "
  • 타입 추론(Type Inference)를 통해 자료형(타입)을 생략 가능

     : 코틀린은 리터럴에 따라 자료형 추론 
     
       리터럴? - 자료형을 알 수 있는 표기 형식
var a = 10		// 리터럴(10)을 통해 Int자료형 추론
var b = 10L		// 리터럴(L)을 통해 Long자료형 추론
var c = 10.0	// 리터럴(10.0)을 통해 Double자료형 추론
var d = 10.0f	// 리터럴(f)을 통해 Float자료형 추론

var str = "Sample" // 리터럴("")을 통해 String자료형 추론
// var str :String = "Sample", 같은 의미

var char = 'a'	// 리터럴('')을 통해 Char자료형 추론
// var char :Char = 'a', 같은 의미
  • 기본 자료형 

     : Kotlin의 기본자료형은 모두 객체
       
      자바의 프리미티브 자료형(int / double / float / long)과 객체 자료형과는 다른 개념

숫자형
Double 64bit, 부동소수점
Float 32bit, 부동소수점
Long 64bit, 정수
Int 32bit, 정수
Short 16bit, 정수
Byte 8bit, 정수
문자형
String 문자열
Char 하나의 문자

 

  • String 비교 - 객체(Object) / 문자열(Value)
String a = "Sample"
String b = "Sample"
String c = a;

// 객체(Object) 비교

// JAVA 방법 "=="
a == b	// false
a == c  // true

// Kotlin 방법 "==="
a === b // false
a === c // true


// 문자열(Value) 비교

// JAVA 방법 "equals() 메서드"
a.equals(b)	// true

// Kotlin 방법 "=="
a==b	// true

 

  • 문자열 탬플릿 

     : 복잡한 문자열을 표현시 편리한 Kotlin기능으로 Java에서는 '+' 또는 String.format()으로 문자열 연결

      출력예시 - "나는 홍길동 입니다."

Java 실행방법

     
Kotlin은 문자열 ("") 내부에 $(달러기호)를 사용해 변수를 넣을 수 있으며, 도 넣을수 있음

$를 사용해 변수대입, 조건식 결과 받기

 

  • 여러 줄 문자열 표현 - Kotlin은 큰따옴표(") 3개를 리터럴로 사용해 여러줄을 그대로 표현 가능

큰따옴표 3개를 사용해 여러줄 표현

 

배열(Array) & 컬렉션(Collection)

  • 배열타입의 표기는 Array<자료형>으로 표기자료형[] 

     : arrayOf() 함수로 배열의 생성, 초기화 가능 (타입 추론으로 자료형 생략 가능)

Java 배열 선언, 초기화 - 접근 방법
Kotlin 배열 선언, 초기화 / 접근 방법

 

  • 리스트 (List) - 배열과 비슷하지만, 다른 점은 동적크기인 부분이 다르다 (배열 = 정적크기, 선언 시 고정)

      : 같은 자료형들의 데이터들의 순서가 존재(인덱스), 추가/삭제/교체 등이 쉬운 컬렉션

      생성하는 메서드는 2가지 (읽기전용 리스트, 변경가능한 리스트)

         listOf() - 읽기전용 리스트(ReadOnly, Immutable), add(),removeAt() 등 수정 불가능

         mutableListOf() - 수정가능한 리스트(Mutable List) 

Java 리스트 사용법
Kotlin 리스트 사용법

 

  • 맵 (Map) - List, Set과 달리 키-값의 구조(Key-Value)

       : 키(Key)는 중복 불가, 값(Value)는 중복이 가능

         리스트와 마찬가지로 2가지의 생성메서드

           -> 읽기전용 맵 mapOf() / 변경가능한 맵 mutableMapOf()

 

[Kotlin] 코틀린 기본 문법 - '변수 / 상수 / 함수 / 자료형 '