일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- CS
- 시뮬레이션
- mst
- BFS
- 이분탐색
- 수학
- 위상정렬
- java
- 구현
- swea
- Network
- 백트래킹
- JUnit 5
- 투 포인터
- 알고리즘
- 완전탐색
- 백준
- 문자열
- 세그먼트 트리
- Kotlin
- 유니온 파인드
- 후니의 쉽게 쓴 시스코 네트워킹
- Effective Java
- 에라토스테네스의 체
- 그리디
- 스택
- 플로이드-와샬
- 프로그래머스
- 동적계획법
- dfs
목록Kotlin (15)
반갑습니다!
현재 Google Play Sotre에 올라온 어플리케이션 중에서 70% 이상이 Kotlin을 사용함. Coroutine은 Kotlin의 주요 기능 중 하나이다. Coroutine 실시간 처리를 쉽게 작성할 수 있도록 해주는 기법. Google에서 공식적으로 권장함. routine의 일종으로 'Co'는 with 또는 together의 뜻을 지니고 있으므로 '협동 루틴' 이라고 할 수 있음 코루틴은 이전에 자신의 실행이 마지막으로 중단되었던 지점부터 다음의 장소에서 실행을 재개한다. 일반적인 루틴(함수)는 중단했다가 다시 시작할 수 없지만 코루틴에서는 가능하다. 역사 도널드 커누스에 따르면 멜빈 콘웨이는 195년 코루틴이라는 용어를 만들었고, 이를 어셈블리 프로그램에 적용했다...
일반적인 프로그래밍 언어에서 지원하는 반복문을 코틀린에서도 지원한다. for문 자바에서 사용하던 반복문은 for(int i=0; i val result = a + b if(result > 10) return println("result: $result") } println("end of retFunc") } /* 실행 결과 Start of retFunc */다음과 같은 코드가 있다고 가정하자. a + b가 10보다 크면 람다 함수를 종료하고 싶다. 하지만 위의 코드에서는 "start of retFunc" 만 출력될 뿐, "end of retFunc"는 출력되지 않는다. 이는 람다 함수에서의 return이 retFunc()를 종료시켰기 때문이다. 이를 비지역반환이라고 한다. 비지역반환을 방지하기 위해서는 ..
코틀린에도 조건문이 존재한다. if문 일반적인 프로그래밍 언어들처럼 if ~ else if ~ else를 사용하여 흐름을 제어할 수 있다. 하지만 일반적인 프로그래밍 언어들과 다른 차이점이 존재하는데, 이는 바로 조건문을 표현식을 사용할 수 있다는 것이다. 이해하기 쉽도록 예시를 통해 알아보자. class Main { public static void main(String[] args) { int a = 10; int b = 3; int max; if(a > b) { max = a; } else { max = b; } } }int형 변수 a와 b 중에서 어떤 수가 더 큰지 알아보는 간단한 예제이다. 자바에서는 if문을 통해 a와 b의 비교하고, 더 큰 값을 max에 대입하는 것을 알 수 있다. 코틀린에서..
코틀린은 OOP(Object-Oriented Programming)와 FP(Functional Programming)을 모두 지원하는 다중 패러다임 언어이다. 함수형 프로그래밍 함수형 프로그래밍은 순수 함수를 조합해 상태 데이터 변경이나 부작용이 없는 루틴을 만들어내며 이름없는 함수 형태의 하나인 람다식을 사용해 함수를 변수처럼 매개변수, 인자, 반환값 등에 활용하는 고차 함수를 구성해 생산성을 높이는 프로그래밍 방법을 말한다. 순수 함수 (pure function) 순수 함수란 부작용이 없는 함수를 의미하는데, 여기서 부작용이 없다는 것은 동일한 입력 인자에 대해서 동일한 결과를 출력 또는 반환한다는 것이다. 즉, 멱등성을 지닌 함수를 순수 함수라고 한다. 예시를 보면서 알아보자. fun add(a: ..
함수의 정의 코틀린은 함수를 다음과 같이 선언한다. fun 함수 이름([변수 이름: 자료형, 변수 이름: 자료형, ...])[: 반환 자료형] { 표현식... [return 반환값] }이 때 []에 해당하는 부분은 생략할 수 있는 부분이다. 함수가 반환하는 값이 없는 경우는 Unit을 반환하는데, 이는 일반적으로 사용하는 void와 같은 개념이라고 이해하면 된다. 즉, Unit은 아무런 의미가 없는 반환값이다. 함수의 축약형 코틀린에서는 함수를 축약해서 쓸 수 있다는 특징이 있다. fun sum(a: Int, b: Int): Int{ return a + b }위와 같은 함수는 fun sum(a: Int, b: Int): Int = a + b또는 컴파일러의 추론을 이용해 fun sum(a: Int, b: ..