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
No related branches found
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