티스토리 뷰
Kotlin #1. 코틀린의 시작
- Kotlin : 기존에 java로 개발했던 웹서비스, 안드로이드 뿐만 아니라 javascript 및 Swift와의 연동개발도 가능
- 웹 IDE : play.kotlinlang.org
- Main 함수에서 프로그램이 시작됨
- Println 함수를 통해 한줄로 출력
Kotlin #2. 변수와 자료형
- // 한줄 주석
- /* */ 여러줄 주석
- 구문이 끝나는 지점에서 ; 붙이지 않아도 됨
- 클래스 이름은 파스칼 표기법 : 모든 단어를 대문자로 시작
- Ex) ClassName
- 함수나 변수 이름은 카멜 표기법 : 첫 단어만 소문자로 시작
- Ex) functionName
- 변수의 선언
- var : 일반적인 변수로 언제든지 읽기/쓰기 가능
- val : 선언시 초기화 가능, 중간에 값을 변경할 수 없음.
- Runtime 시 변경되지 않아야 할 변수 안전하게 선언할 때 사용
- 클래스에 선언된 변수 : Property (속성)
- 클래스 외의 Scope 내에 선언된 변수 : Local Variable (로컬변수)
- println 은 문자열을 출력하는 기능도 있지만 println(변수명) 처럼 정수형 변수의 값도 바로 출력 가능
- kotlin은 기본 변수에서 null 값을 허용하지 않음, 또한 변수에 값을 할당하지 않은 채로 사용하게 되면 문법 에러를 표시하고 컴파일을 막아주므로 의도치 않은 동작이나 null pointer exception 등을 원천적으로 차단할 수 있음
- 변수 선언 시 자료형 뒤에 ‘?’를 붙이면 nullable 변수로 선언할 수 있음
- Ex) var a: Int? = null
- Nullable 변수는 값이 null인 상태로 연산할 시, null point exception이 발생할 수 있음 (꼭 필요한 경우만 주의해서 사용해야함)
- 이 외에도 변수의 선언을 늦추는 lateinit이나 lazy 속성도 있음
- 기본 자료형 (자바와 거의 동일)
- 정수형
- Byte (8bits)
- Short (16bits)
- Int (32bits)
- Long (64bits)
- 실수형
- Float (32bits)
- Double (64bits)
- 정수형의 리터럴 (*리터럴 : 코드 내에 값을 표기하는 것)
- 10진수, 16진수, 2진수 표기 가능
- 32비트 이내의 10진수가 기본형으로 숫자만 표시하면 됨
- 64비트인 Long타입의 10진수는 숫자 뒤에 ‘L’을 붙여 더 큰 메모리를 사용하는 정수임을 표시해야함
- 16진수는 ‘0x’를 앞에 붙임
- 2진수는 ‘0b’를 앞에 붙임
- 코틀린은 8진수의 표기는 지원하지 않음
- 실수는 기본으로 Double 형
- 숫자 뒤 ‘f’를 붙이면 16비트의 float형으로 취급
- Ex) 123.5f
- Char : 한 개의 문자
- 코틀린은 글자 하나하나가 2Byte의 메모리 공간을 차지함
- Char형의 리터럴은 작은 따옴표로 표시
- Ex) ‘a’, ‘가’
- \t : 탭
- \b : 백스페이스
- \r : 첫 열로 커서 옮김
- \n : 개행
- \’ : 작은 따옴표
- \” : 큰 따옴표
- \\ : 역슬래시
- \$ : $문자
- \uxxxx : 유니코드 문자
- Boolean 값의 리터럴 : true 또는 false로 표기
- 문자열
- val 변수명 = “문자열”
- val 변수명 = “”” 여러줄의 문자열 “””
출처 : 디모의 Kotlin 강좌를 통해 학습한 내용을 정리했습니다.
'개발지식 > TIL (Today I learned)' 카테고리의 다른 글
Kotlin 기초 문법 (5) - 클래스의 기본 구조 및 생성자 (0) | 2021.04.05 |
---|---|
Kotlin 기초 문법 (4) - 반복문, 증감연산자, 흐름제어, 논리연산자 (0) | 2021.04.05 |
Kotlin 기초 문법 (3) - 조건문, 비교연산자 (0) | 2021.04.05 |
Kotlin 기초 문법 (2) - 형변환, 배열, 타입추론, 함수 (0) | 2021.04.05 |
Graph Database, Neo4j (0) | 2021.01.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- infallible
- GraphDB
- 백준온라인저지
- coreml
- cocoapods
- 프로그래머스
- rxswift6
- Swift
- 안드로이드
- Kotlin
- SWEA
- mergesort
- 카카오인턴십
- 백준
- boj
- 알고리즘
- blendshape
- blendshapes
- 코코아팟
- ios
- rxswift
- Lottie
- Neo4j
- disposeBag
- SwiftUI
- C++
- ARKit
- Reactivex
- bounds
- DispatchQueue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함