Coding Language/Kotlin
-
/* 본 게시물은 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : fun main() { var arr = arrayOf(1,2,3,4,5) var size = 4 fun swap (from: Int, to: Int){ val tmp = arr[from] arr[from] = arr[to] arr[to] = tmp } /** * swap(1,size) * size-- * ---------------- * size-- * swap(1,size) */ // 함수 실행 후 감소 swap(1, size--) // [1, 5, 3, 4, 2] println(arr.contentToString()) arr = a..
[Kotlin] --, ++/* 본 게시물은 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : fun main() { var arr = arrayOf(1,2,3,4,5) var size = 4 fun swap (from: Int, to: Int){ val tmp = arr[from] arr[from] = arr[to] arr[to] = tmp } /** * swap(1,size) * size-- * ---------------- * size-- * swap(1,size) */ // 함수 실행 후 감소 swap(1, size--) // [1, 5, 3, 4, 2] println(arr.contentToString()) arr = a..
2021.10.18 -
/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [김초희] 코틀린에서 Queue 사용하기 : https://choheeis.github.io/newblog//articles/2020-10/kotlinQueue [자료구조] 큐에 대해 알아봤으니 kotlin 에서 큐를 사용하는 법에 대해 알아보자. 기본적으로 코틀린에서는 queue를 라이브러리로 제공하지 않는다. 그렇기 때문에 다음과 같은 방법으로 queue 를 사용할 수 있다. Kotlin 에서 제공하는 자료구조 중 queue를 대체할 자료구조 사용 (ex. ArrayList , LinkedList, Deque) Java에서 제공하..
[Kotlin] 큐 사용해보기/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [김초희] 코틀린에서 Queue 사용하기 : https://choheeis.github.io/newblog//articles/2020-10/kotlinQueue [자료구조] 큐에 대해 알아봤으니 kotlin 에서 큐를 사용하는 법에 대해 알아보자. 기본적으로 코틀린에서는 queue를 라이브러리로 제공하지 않는다. 그렇기 때문에 다음과 같은 방법으로 queue 를 사용할 수 있다. Kotlin 에서 제공하는 자료구조 중 queue를 대체할 자료구조 사용 (ex. ArrayList , LinkedList, Deque) Java에서 제공하..
2021.10.04 -
/* 본 게시물은 참고자료의 내용을 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [쾌락 코딩] 코틀린 동등성 연산 : https://wooooooak.github.io/kotlin/2019/02/24/kotiln_%EB%8F%99%EB%93%B1%EC%84%B1%EC%97%B0%EC%82%B0/ [NATION OF 6KIKI] ==, compareTo(), equals() 서로간의 차이점에 대해 알아보자 : https://6kkki.tistory.com/9 [김성일] Comparable / Comparator 인터페이스 차이점 : https://dev-daddy.tistory.com/23 객체에서 숫자, 문자열 비교를 하려..
[Kotlin] == , === 차이 / Comparable, Comparator 인터페이스/* 본 게시물은 참고자료의 내용을 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [쾌락 코딩] 코틀린 동등성 연산 : https://wooooooak.github.io/kotlin/2019/02/24/kotiln_%EB%8F%99%EB%93%B1%EC%84%B1%EC%97%B0%EC%82%B0/ [NATION OF 6KIKI] ==, compareTo(), equals() 서로간의 차이점에 대해 알아보자 : https://6kkki.tistory.com/9 [김성일] Comparable / Comparator 인터페이스 차이점 : https://dev-daddy.tistory.com/23 객체에서 숫자, 문자열 비교를 하려..
2021.09.25 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #List 활용 List는 순서에 따라 정렬된 요소를 가지는 컬렉션으로, 가장 많이 사용하는 컬렉션 중 하나이다. ([자료 구조] List 에 대한 개념이 궁금하면 본 게시물을 한 번 읽어보기를 추전한다.) 코틀린의 List에는 값을 변경할 수 없는 불변형 List , 값을 변경할 수 있는 가변형 MutableList 가 있다. 불변형 List 먼저, 불변형 List를 생성하는 방법에 대해 알아보자. val nonChangeList = listOf(1,2,3,4,5) 기..
[Kotlin] List 활용/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #List 활용 List는 순서에 따라 정렬된 요소를 가지는 컬렉션으로, 가장 많이 사용하는 컬렉션 중 하나이다. ([자료 구조] List 에 대한 개념이 궁금하면 본 게시물을 한 번 읽어보기를 추전한다.) 코틀린의 List에는 값을 변경할 수 없는 불변형 List , 값을 변경할 수 있는 가변형 MutableList 가 있다. 불변형 List 먼저, 불변형 List를 생성하는 방법에 대해 알아보자. val nonChangeList = listOf(1,2,3,4,5) 기..
2021.09.17 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #Collection 컬렉션은 자주 사용하는 기초적인 자료구조를 모아 놓은 일종의 프레임워크이다. 코틀린의 컬렉션 코틀린의 컬렉션은 자바 컬렉션의 구조를 확장 구현한 것이다. 컬렉션의 종류로는 List, Set, Map 등이 있으며 자바와는 다르게 불변형과 가변형으로 나뉜다. 가변형 컬렉션은 객체에 데이터를 추가하거나 변경할 수 있고 불변형 컬렉션은 데이터를 한 번 할당하면 읽기 전용이 된다. 자바에서는 오로지 가변형 컬렉션만 취급되기 때문에 자바와 상호작용할 때 주의해..
[Kotlin] Collection/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : #Collection 컬렉션은 자주 사용하는 기초적인 자료구조를 모아 놓은 일종의 프레임워크이다. 코틀린의 컬렉션 코틀린의 컬렉션은 자바 컬렉션의 구조를 확장 구현한 것이다. 컬렉션의 종류로는 List, Set, Map 등이 있으며 자바와는 다르게 불변형과 가변형으로 나뉜다. 가변형 컬렉션은 객체에 데이터를 추가하거나 변경할 수 있고 불변형 컬렉션은 데이터를 한 번 할당하면 읽기 전용이 된다. 자바에서는 오로지 가변형 컬렉션만 취급되기 때문에 자바와 상호작용할 때 주의해..
2021.09.16 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. 개인적으로 공부한 내용을 정리한 글이기 때문에 글에 오류가 있을 수 있습니다. */ 참고 자료 [쾌락코딩] 변성(공변성 out, 반공변 in) 이해하기 1편 - 제네릭 : https://wooooooak.github.io/kotlin/2020/02/27/%EB%B3%80%EC%84%B1(in,-out)%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1%ED%8E%B8/ #제네릭 코틀린으로 쓴 여러 코드들을 보다보면 를 자주 볼 수 있다. 예를 들어 array 를 선언할 때, arrayOf(1,2,3) 같이 사용되는 것을 확인할 수 있다. 기호에 대해 모른다면 이 것을 왜 썻는지 ..
[Kotlin] 제네릭/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. 개인적으로 공부한 내용을 정리한 글이기 때문에 글에 오류가 있을 수 있습니다. */ 참고 자료 [쾌락코딩] 변성(공변성 out, 반공변 in) 이해하기 1편 - 제네릭 : https://wooooooak.github.io/kotlin/2020/02/27/%EB%B3%80%EC%84%B1(in,-out)%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-1%ED%8E%B8/ #제네릭 코틀린으로 쓴 여러 코드들을 보다보면 를 자주 볼 수 있다. 예를 들어 array 를 선언할 때, arrayOf(1,2,3) 같이 사용되는 것을 확인할 수 있다. 기호에 대해 모른다면 이 것을 왜 썻는지 ..
2021.09.13 -
/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [kotlin array 표준 라이브러리] : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/ #배열 사용해보기 배열에 대한 특징은 [자료 구조] 배열에서 다루었다. (배열에 대해 잘 모르면 한 번 읽어보길 추천한다.) 이번에는 코틀린으로 배열을 사용하는 방법을 익혀보자. 1. 일차원 배열 배열의 기본적인 형태로 코틀린에서는 배열을 arrayOf() 나 Array() 생성자를 사용해 배열을 만든다. 빈 상태의 배열을 만들고 싶으면 arrayOfNulls() 를 통해 생성할 수 있다. //arrayOf() 생성자 : 배열의 ..
[Kotlin] 배열/* 본 게시물은 ' Do it! 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [kotlin array 표준 라이브러리] : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/ #배열 사용해보기 배열에 대한 특징은 [자료 구조] 배열에서 다루었다. (배열에 대해 잘 모르면 한 번 읽어보길 추천한다.) 이번에는 코틀린으로 배열을 사용하는 방법을 익혀보자. 1. 일차원 배열 배열의 기본적인 형태로 코틀린에서는 배열을 arrayOf() 나 Array() 생성자를 사용해 배열을 만든다. 빈 상태의 배열을 만들고 싶으면 arrayOfNulls() 를 통해 생성할 수 있다. //arrayOf() 생성자 : 배열의 ..
2021.09.10 -
/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [빡센] 코틀린 8. 입력과 출력 : https://bbaktaeho-95.tistory.com/11 알고리즘 테스트를 보면 값을 입력 받고 처리하는 식의 문제가 많다. 이번에는 코틀린으로 입력을 처리하는 방법에 대해 알아보자. 크게 입력을 받는 방법은 두개가 있다. 1. readLine() 함수 사용 fun main(args:Array){ print("입력할 값 :") val value = readLine() println("입력 값 : $value") } readLine() 함수를 사용하게되면 반환 값을 String? 형태로 반환한다. 필요시 형변환을 통해 필요한 데이터 형태로 바꾸면 된다. (toInt..
[Kotlin] 입력 (Scanner / BufferedReader)/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [빡센] 코틀린 8. 입력과 출력 : https://bbaktaeho-95.tistory.com/11 알고리즘 테스트를 보면 값을 입력 받고 처리하는 식의 문제가 많다. 이번에는 코틀린으로 입력을 처리하는 방법에 대해 알아보자. 크게 입력을 받는 방법은 두개가 있다. 1. readLine() 함수 사용 fun main(args:Array){ print("입력할 값 :") val value = readLine() println("입력 값 : $value") } readLine() 함수를 사용하게되면 반환 값을 String? 형태로 반환한다. 필요시 형변환을 통해 필요한 데이터 형태로 바꾸면 된다. (toInt..
2021.09.09 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin] 자료형과 변수 심화: https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e 코틀린 공식 문서에 따르면 코틀린에서 배열은 Array 클래스로 표현된다. class Array private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator // ... } 코..
[Kotlin] Array<T> 와 기본 자료형 Array/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Kotlin] 자료형과 변수 심화: https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e 코틀린 공식 문서에 따르면 코틀린에서 배열은 Array 클래스로 표현된다. class Array private constructor() { val size: Int operator fun get(index: Int): T operator fun set(index: Int, value: T): Unit operator fun iterator(): Iterator // ... } 코..
2021.09.09 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Koltin] 코틀린의 자료형 : https://velog.io/@jinny_0422/%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-%EC%9E%90%EB%A3%8C%ED%98%95 [Kotlin] 자료형과 변수 심화 : https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e #코틀린 자료형 1. 자료형 이란? 자료형의 정의는 다음과 같다. 자료형(data type) 저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다르게 표..
[Kotlin] 코틀린 자료형/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Koltin] 코틀린의 자료형 : https://velog.io/@jinny_0422/%EC%BD%94%ED%8B%80%EB%A6%B0%EC%9D%98-%EC%9E%90%EB%A3%8C%ED%98%95 [Kotlin] 자료형과 변수 심화 : https://medium.com/depayse/kotlin-%EC%9E%90%EB%A3%8C%ED%98%95%EA%B3%BC-%EB%B3%80%EC%88%98-%EC%8B%AC%ED%99%94-8fa6f396bf7e #코틀린 자료형 1. 자료형 이란? 자료형의 정의는 다음과 같다. 자료형(data type) 저장되는 데이터의 종류에 따른 형태로, 저장되는 값의 종류와 범위에 따라 다르게 표..
2021.09.09 -
/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ #실드 클래스 / 열거 클래스 1. 실드 클래스 실드란 '봉인된'이라는 의미로 무언가 안전하게 보관하기 위해 묶어 두는 것을 뜻한다. 실드 클래스는 미리 만들어 놓은 자료형들을 묶어서 제공하기 때문에 어떤 의미에서는 열거형 클래스의 확장으로도 볼 수 있다. 실드 클래스는 sealed 키워드를 통해 선언할 수 있다. 실드 클래스 그 자체는 추상 클래스와 같기 때문에 객체를 만들 수 없다. (즉, 껍데기? 라고 생각하면 된다.) 또한 생성자도 기본적으로 private 이며 private이 아닌 생성자는 허용하지 않는다. 실드 클래스는 같은 파일 안에서는 상속이 가능하지만, 다른 파일에서는 상속이 ..
[Kotlin] 실드 클래스 / 열거형 클래스/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ #실드 클래스 / 열거 클래스 1. 실드 클래스 실드란 '봉인된'이라는 의미로 무언가 안전하게 보관하기 위해 묶어 두는 것을 뜻한다. 실드 클래스는 미리 만들어 놓은 자료형들을 묶어서 제공하기 때문에 어떤 의미에서는 열거형 클래스의 확장으로도 볼 수 있다. 실드 클래스는 sealed 키워드를 통해 선언할 수 있다. 실드 클래스 그 자체는 추상 클래스와 같기 때문에 객체를 만들 수 없다. (즉, 껍데기? 라고 생각하면 된다.) 또한 생성자도 기본적으로 private 이며 private이 아닌 생성자는 허용하지 않는다. 실드 클래스는 같은 파일 안에서는 상속이 가능하지만, 다른 파일에서는 상속이 ..
2021.08.14 -
/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ #내부 클래스 기법 코틀린은 2가지의 내부 클래스 기법이 있다. 첫 번째는 중첩 클래스, 또 다른 하나는 이너 클래스이다. 중첩 클래스와 이너 클래스는 둘다 특정 클래스 내부에 있는 것이지만 사용 방법이 약간 다르다. 그럼 왜 클래스 내부에 또 다른 클래스를 설계하여 둘까? 그 이유는 독립적인 클래스로 정의하기 모호한 경우나 다른 클래스에서는 잘 사용하지 않는 내부에서만 사용하고 외부에서는 접근할 필요가 없기 때문이다. 1. 중첩 클래스 코틀린에서 중첩 클래스는 기본적으로 정적(static) 클래스처럼 다뤄진다. 즉, 중첩 클래스는 객체 생성 없이 접근할 수 있다. 중첩 클래스를 사용해보자. ..
[Kotlin] 내부 클래스/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ #내부 클래스 기법 코틀린은 2가지의 내부 클래스 기법이 있다. 첫 번째는 중첩 클래스, 또 다른 하나는 이너 클래스이다. 중첩 클래스와 이너 클래스는 둘다 특정 클래스 내부에 있는 것이지만 사용 방법이 약간 다르다. 그럼 왜 클래스 내부에 또 다른 클래스를 설계하여 둘까? 그 이유는 독립적인 클래스로 정의하기 모호한 경우나 다른 클래스에서는 잘 사용하지 않는 내부에서만 사용하고 외부에서는 접근할 필요가 없기 때문이다. 1. 중첩 클래스 코틀린에서 중첩 클래스는 기본적으로 정적(static) 클래스처럼 다뤄진다. 즉, 중첩 클래스는 객체 생성 없이 접근할 수 있다. 중첩 클래스를 사용해보자. ..
2021.08.14