Skip to content
Snippets Groups Projects
Commit 22da70d4 authored by reeplay's avatar reeplay
Browse files

organize variable and type contents into markdown file

parent 978a3f15
Branches
No related tags found
1 merge request!1인텔리제이, 변수 및 타입관련 코틀린 마크다운 그리고 실습 코틀린 파일
# 코틀린 정리하면서 공부하기 (1)
## 변수, 상수, 타입
#### 1. 정의
- <b>변수(variable)</b><b>상수(constant)</b>
애플리케이션에서 값을 저장하고 데이터를 전달할 수 있는 어떤 공간
- <b>데이터 타입</b>
상수나 변수에 저장된 데이터 유형
#### 2. 변수
* 변수 생성
##### [변수 정의 키워드] [변수이름] : [타입 정의] [대입 연산자] [대입값]
*예시) var experiencePoints : Int = 5*
* 변수 정의 키워드 종류
**런타임 생성 변수**
프로그램이 실행되는 동안 변수들이 생성되어 값이 지정된다.
* **var - <u>값이 변경</u>되는 변수**
variable 라고 한다.
* **val - <u>값이 변경되지 않는</u> 변수**
**(단, 상수(constant)는 아니다)**
value (= read-only variable) 라고 한다.
var이 필요하지 않을 때는 val을 사용하는 것이 바람직하다.
**컴파일 상수** (컴파일시 생성되는 변수)
모든 함수의 외부에 정의되어 값이 지정된다. 따라서 프로그램 실행 전에 컴파일러가 알 수 있어야하기 때문에 [기본타입](#기본타입)중 하나여야 한다.
* **constant val **
```kotlin
const val MAX: Int = 100000
fun main (){
...
}
```
* if 대입값의 타입이 타입 정의 에 정의한 타입과 다르면
**인텔리제이**는!
<u>정적 타입 검사(static type checking)</u> 를 하여 프로그램이 컴파일하기 전에 오류를 알려준다.
컴파일 후 **코틀린 컴파일러**는!
코틀린이 <u>정적 타입 시스템</u>이기 때문에 코틀린 컴파일러가 컴파일 시점에 코드의 적합 여부를 알려준다.
#### 3. 타입
* 기본타입
| String | Float | Byte |
| ---------- | --------- | ----------- |
| **Int** | **Long** | **Char** |
| **Double** | **Short** | **Boolean** |
자바에서 기본타입은 소스코드 파일로 정의되지 않으며 키워드로 나타내진다. 반면에 참조 타입은 별 개의 소스 코드 파일로 정의된다. 자바와 다르게 코틀린에서는 기본타입도 참조타입으로 지원한다.
* **타입 추론**
​ 변수를 선언할 때는 타입을 생략해도 된다. 코틀린 컴파일러가 변수 타입을 알고 처리해준다.
```kotlin
val username01: String = "Joylish" // 기본 변수 생성; 타입 String 선언
val username02 = "Happy" // 타입 생략
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment