728x90
반응형

CS/Kotlin 13

[Kotlin 문법] 12. 후행 람다 문법

후행 람다 문법이란?일반적으로 kotlin에서 함수를 정의하고 사용하는 방식은 다음과 같다.fun exampleFunc(param1: String, param2: String){ println("Param1: $param1")} 여기서 함수의 매개변수로 함수를 넣을 수 있는데, 이때 사용하는 함수는 람다 표현식으로 넣어주게 된다. 예시는 다음과 같다.fun exampleFunction(param1: String, action: () -> Unit) { println("Param1: $param1") action()} 이와 같이 함수의 마지막 매개변수가 람다 표현식일 때, kotlin에서는 람다를 소괄호 밖으로 뺄 수 있는 문법을 제공한다.이 문법을 후행 람다 문법이라 하며, 이를 통해 코드의 ..

CS/Kotlin 2025.03.05

[Kotlin 문법] 11. 입출력 (2) - 파일 입출력

입출력에는 콘솔 입출력, 파일 입출력, 네트워크 입출력의 세 가지 종류가 있다.그 중에서 콘솔 입출력은2025.02.11 - [CS/Kotlin] - [Kotlin 문법] 10. 입출력 (1) - 콘솔 입출력, 문자열 포맷팅(출력 형식 지정)여기에서 설명하였고, 이번에는 파일 입출력에 대해 알아보겠다. 파일 읽기파일을 읽을 때는 두 가지 방법이 있다.여기서는 모두 java.io.File을 import하여 이용한다.1) readText()- 파일 전체를 읽는 방법import java.io.Filefun main() { val file = File("test.txt") val content = file.readText() println("$content")} 2) readLines()- 파일..

CS/Kotlin 2025.02.11

[Kotlin 문법] 10. 입출력 (1) - 콘솔 입출력, 문자열 포맷팅(출력 형식 지정)

지금까지는 kotlin의 전체적인 구조를 이해할 수 있도록 중요한 구조들을 공부하였다.이제부터는 코딩테스트나 개발에 직접적으로 사용할 기본적인 기능과 함수들에 대해 공부할 예정이다.그에 대한 첫 공부로, kotlin 입출력 방법에 대해 알아보겠다. kotlin에서 입출력 받는 방법은 크게 '콘솔 입출력 / 파일 입출력 / 네트워크 입출력'이 있다.다만, 네트워크 입출력은 사실 네트워크 관련 자세한 지식이 필요하기 때문에, 여기서 다루지는 않을 것이다.이번에는 '콘솔 입출력'에 대해 공부하겠다. 입력 받기입력을 받는 방법은 크게 세 가지가 존재한다.1) readLine() / readln()- 기본적인 입력을 받기 위해 사용fun main() { val s1 = readLine() // 사용자가 입력..

CS/Kotlin 2025.02.11

null safety - "?" 문법

kotlin에서의 null-safetykotlin에서는 null-safety를 위해 ?를 사용한 문법을 사용한다. ?는 기본적으로 변수나 객체가 null을 허용할 수 있음을 나타낸다.kotlin은 null-pointer exception을 예방하기 위해 null이 허용되는 타입과 허용되지 않는 타입을 구분하는데, 그 상황에 쓰일 수 있다.?를 붙이면 해당 타입의 변수가 null을 가질 수 있음을,붙이지 않으면 null을 할당할 수 없음을 나타낸다.예를 들면, 다음과 같다.var nullableString: String? = null // null 값을 허용var nonNullableString: String = "Hello" // null 값 허용하지 않음nullableString = "Hi" //..

CS/Kotlin 2025.01.08

[Kotlin 문법] 9. Null Safety

kotlin에서는 null값을 사용하기 때문에, 이로 인해 문제가 발생할 수 있다.따라서 null safety가 존재한다. (주로 compile-time에 이용)즉, null safety는 null값에 대한 안전한 대응을 할 수 있도록 만들어주는 방식인 것이다. Nullable type원래 어떤 type이든 null을 허용하지 않지만, null값을 가질 수 있도록 허용해준 nullable type이 존재한다.이 type은 type 마지막에 '?'를 붙여 선언할 수 있다.예를 들어,var neverNull: String = "This can't be null"neverNull = null // compile error위와 같이 neverNull이라는 String 변수에 null을 대입하면, Null can..

CS/Kotlin 2024.06.13

[Kotlin 문법] 8. Class

kotlin은 객체지향을 지원한다. 따라서 클래스를 생성할 수 있다.클래스를 선언하기 위해서는 class 키워드를 사용한다. class와 propertyclass 객체의 특성은 property에 선언한다.property 선언은 class 이름 옆의 () 소괄호를 사용해 이루어지고,body 내부에 {} 중괄호를 사용하기도 한다.class example(val id: Int, val pw: String){ val name: String = ""} 인스턴스 생성 후에 변경되어야 하는 변수가 아니라면, property는 read-only인 val로 선언해야 한다.(추천사항)val이나 var 없이 property를 선언한다면 인스턴스 생성 후에는 접근 불가능하게 된다.또한, 함수에서처럼 class property..

CS/Kotlin 2024.06.12

[Kotlin 문법] 7. Lambda expression

코드를 가장 간결하게 짜는 방식이 lambda 식을 이용한게 아닐까 싶다..내가 그렇게 어려워하면서도 제대로 공부 안 했던 그녀석(?)..드디어 나타난 람다식..!!!이번에 kotlin 다시 공부하면서 제대로 공부해보자! Lambda expression의 문법Lambda expression은 다음과 같이 쓸 수 있다.fun main() { println({ text: String -> text.uppercase() }("hello")) // HELLO 출력} 이 Lambda expression은 hello라는 String을 대문자로 바꿔주는 역할을 한다. 하나하나 분석해보면우선, 람다 식은 {}안에 쓰인다.->를 기준으로 왼쪽에는 parameter와 그 type이, 오른쪽에는 함수 body가 쓰인다..

CS/Kotlin 2024.06.12

[Kotlin 문법] 6. 함수 - Unit, default parameter value, single-expression, named argument

이전에는 main 함수의 구성에 대해서만 살펴보았다.그래서 이번에는 사용자가 정의하는 함수를 만드는 법을 보려고 한다. 함수 만들기 - Unit우선, 기본 구조는 다음과 같다.fun [함수명]([변수명1]: [타입], [변수명2]: [타입], ..., [변수명]: [타입]): [리턴 타입]{ return [리턴값]}즉, 무조건 타입을 : 뒤에 써준다고 보면 된다.리턴할 값이 없으면 return type과 return 문구가 생략될 수 있다.생략된 것을 Unit type이라고 부른다.명시적으로 함수 내에서 "return" 또는 "return Unit"이라고 해도 되고, 아무것도 안 써줘도 똑같이 실행된다.함수 만들기 - default parameter value 함수를 만들 때 default value를 ..

CS/Kotlin 2024.06.07

[Kotlin 문법] 5. loop - range, for, while

kotlin에서 사용하는 loop을 위한 방식으로는 for과 while이 있다.c,c++,java와 같은 언어들과 거의 유사한 방식이다.for([조건]){ // expression}while([조건]){ // expression}do{ // expression} while([조건])이렇게 do while 문까지 그대로 사용 가능하다. 다만, 조건을 쓰는 방식에 있어 약간의 차이점이 존재한다.특히, for문에서 range라는 개념이 들어간다.그냥 일반적인 조건(예, a python이 익숙하다면 더 쉬울 것 같다! range는 범위를 표현하는 방법이다.1. ..여기에는 ".." operator를 사용한다.예를 들어, "1..4"는 1,2,3,4를 의미한다. 즉, 'from 1 to 4'이다.2. .."1....

CS/Kotlin 2024.06.07

[Kotlin 문법] 4. 조건문 - if, when

kotlin에서 특정 조건을 만족하는지 판단해 분기별로 나누는 방식에는 if와 when 두 가지가 있다. 조건문 if먼저, if에 대해 보자.c,c++,java와 같은 언어들에서와 마찬가지로, 문법과 사용 방식이 똑같다.if([조건]){ // 조건에 따른 실행부} 다만, 다른 언어들과 조금 다른부분이 있는데, 바로 if문이 표현식으로 쓰일 수 있다는 것이다.예를 들어, println(if (a > b) a else b)와 같은 표현이 가능하다.마찬가지로, if문 안의 조건식에도 if문을 작성할 수 있다.if (if (a == b) a else b) { d = 1} else { d = 2}이런 식으로 표현 가능하다. 그렇기 때문인지 'condition? then : else' 와 같은 삼항 연산..

CS/Kotlin 2024.06.07
728x90
반응형