유용한 기능
자료형 변환
to자료형()
메소드로 자료형을 변환할 수 있다. 원래 값 자체를 바꾸는 게 아니라 형태를 변환시켜주는 것
문자를 숫자로 바꾸려면?
- 정수 : Integer.parseInt() = toInt()
- 실수 : .toDouble()
Integer는 싱글턴으로 선언된 클래스
Integer.parseInt() 와 Integer.valueOf()
문자열을 정수로 변환해주는 메소드. parseInt는 결과를 기본 자료형 Int로 반환해주고 valueOf는 객체를 생성해 참조 자료형 Int로 반환해준다.
객체 as 클래스명
as로 객체의 자료형을 변환할 수 있다. 상속관계에서 가능. OOP 5대 특징 중 가용성에 해당
- 업캐스팅 : 자식클래스를 부모클래스의 자료형으로 객체 생성. 배열의 자료형이 부모 클래스 일 때 업캐스팅을 통해 자식 클래스의 객체도 들어갈 수 있다.
- 다운캐스팅 : 부모클래스를 자식클래스의 자료형으로 객체 생성. 부모 클래스의 자료형은 자식 클래스에 들어가려해도 부모클래스가 더 상위개념이므로 다운캐스팅 오류가 난다.
자료형 확인
변수명 is 자료형
is로 자료형을 확인할 수 있다.
인스턴스 복수 생성
- Pair : 2개 리턴가능. Pair<파라미터 타입, 파라미터 타입> Pair(인자, 인자)
- Triple : 3개 리턴가능. Pair<파라미터 타입, 파라미터 타입, 파라미터 타입> Pair(인자, 인자, 인자)
Scope Functions
이 부분은 너무 이해가 안돼서 따로 공부했다.
범위지정함수. 코드를 간결하게 만들어주는 범위함수
람다함수를 호출하면 임시범위가 생성된다. 수신객체 receiver (it, this)에 객체가 전달된다.
지정 람다 : 수신객체를 확장함수처럼 사용하는 람다식(this)
일반 람다 : 수신객체를 인자로 사용하는 람다식(it)
let with run은 코드 블록의 람다결과를 반환하고 apply also는 수신객체 자체를 반환한다. 수신객체에 객체를 전달해 스코프 안에서 이름없이 사용할 수 있는 표준 라이브러리 this는 생략이 가능하다.
확장함수 this | 인자 it | |
결과 반환 | with run | let |
객체 반환 | apply | also |
let : ?.Null이 아닌 값으로 실행시키고 싶을 때,
with : Null이 아닐 때만 써야한다. also :apply :
run :
확장함수
fun 어디에.어떻게() = 이렇게~
클래스에 메소드를 추가하여 원본을 해치지 않고 기능을 사용할 수 있다.
비동기 프로그래밍
순차적이지 않고 동시다발적 작업을 수행할 수 있다.
쓰레드와 코루틴
프로세스 내 메인 쓰레드와 자식 쓰레드로 나눠져 있어 비동기 프로그래밍이 가능하다.
코루틴은 쓰레드를 보다 나눠 가볍게 사용하여 효율적인 자원 할당이 가능하다.
'코틀린 > 코틀린 문법' 카테고리의 다른 글
Repository (0) | 2024.08.13 |
---|---|
object (0) | 2024.08.06 |
코틀린문법 4주차 강의 [심화] (0) | 2024.06.10 |
코틀린문법 3주차 강의 [객체지향 프로그래밍] (0) | 2024.06.03 |
코틀린문법 2주차 강의 [컨벤션 ~ 반복문] (0) | 2024.06.03 |