코틀린 스터디 34

코루틴 기반 동시성 프로그래밍

코틀린 동시성 프로그래밍을 요약한 내용입니다. 프로세스, 스레드, 코루틴 프로세스 프로세스는 실행 중인 애플리케이션의 인스턴스 프로세스는 상태를 갖고 있다 핸들, 프로세스 ID, 데이터, 네트워크 등의 상태 프로세스 내부의 스레드가 액세스 할 수 있다 애플리케이션은 여러 프로세스로 구성될 수 있다 브러우저 같은 경우 여러 프로세스로 구성 스레드 실행 스레드는 프로세스가 실행할 일련의 명령을 포함 프로세스는 최소한 하나의 스레드를 포함 애플리케이션의 진입정을 실행하기 위해 생성 애플리케이션이 실행되면 main() 함수의 명령 집합이 포함된 메인 스레드가 생성 doWork는 메인 스레드에서 실행되므로 doWork() 종료되면 애플리케이션의 실행이 종료 fun main(args: Array) { doWork(..

코틀린 스터디 2023.11.24

코틀린 - 예외처리, Type System, 컬렉션

Kotlin in Action 을 요약한 내용입니다. 예외처리 예외 처리는 자바나 다른 언어와 비슷 throw는 식이므로 다른 식에 포함될 수 있다. val percentage = if (number in 0..100) number else throw IllegalArgumentException("A percentage value must be between 0 and 100 : $number") try, catch, finally 자바 코드와 가장 큰 차이는 throws 절이 코드에 없다 자바에서는 함수 선언 뒤에 throws IOException 을 붙여야 한다 fun readNumber(reader: BufferedReader): Int? { try { val line = reader.readLin..

코틀린 스터디 2023.11.10

코틀린 - 클래스, 인터페이스, 상속

Kotlin in Action 을 요약한 내용입니다. 클래스 클래스와 인터페이스는 자바와는 약간 다름 인터페이스에 프로퍼티 선언이 들어갈 수 있다. 선언은 기본적으로 final 이며 public 중첩 클래스에는 외부 클래스에 대한 참조가 없다 클래스를 data로 선언하면 컴파일러가 표준 메소드를 생성 클래스 초기화 주 생성자와 초기화 블록 constructor: 주 생성자나 부 생성자 정의 init: 초기화 블록 class User constructor(_nickname: String) { // 주 생성자 val nickname: String init { // 초기화 블록 nickname = _nickname } } 부 생성자 부 생성자는 필요에 따라 여러개 선언 가능 open class View { c..

코틀린 스터디 2023.11.10

코틀린 - 변수, 연산자, 반복문, 함수

Kotlin in Action 을 요약한 내용입니다. 변수 변수 선언시 이름 뒤에 타입을 명시하거나 생략 타입 지정을 생략하고 사용 가능 val javacafe = "자바카페" val number = 20 // 타입 지정하고 사용 가능 val number: Int = 20 변경 가능한 변수와 변경 불가능한 변수 val 변경 불가능한 참조를 저장하는 변수 val로 선언된 변수는 초기하고 나면 재대입이 불가능 자바에서 final var 변경 가능한 참조를 저장하는 변수 자바의 일반 변수 💡 기본적으로 모든 변수를 val 키워드를 사용해 불변 변수로 선언하고 필요할 때만 var로 변경 val 참조 자체는 불변이라도 참조가 가르키는 값은 변경될 수 있다. fun main() { val languages = ar..

코틀린 스터디 2023.11.10