본문 바로가기
728x90
반응형

코틀린17

아토믹 코틀린 31 - 이름 붙은 인자와 디폴트 인자 이름 붙은 인자를 사용하면 코드의 가독성이 좋아진다. fun color(red: Int, green: Int, blue: Int) fun main() { // 별 정보가 없는 함수 color(1, 2, 3) // 인자에 이름을 붙여 사용 fun color( red = 76, green = 89, blue = 0 ) } 이름 붙은 인자를 사용하면 인자의 순서를 변경할 수도 있다. fun main() { color( blue = 0, red = 99, green = 120 ) } 이름 붙은 인자를 디폴트 인자와 결합하면 더 유용하다. 디폴트 인자 = 파라미터의 디폴트값을 함수에서 정의하는 것 fun color( red: Int = 0, green: Int = 0, blue: Int = 0, ) 함수 호출 시.. 2023. 10. 15.
아토믹 코틀린 30 - 확장함수 코틀린의 확장함수는 기존 클래스에 멤버 함수를 추가하는 효과 receiver type (수신객체타입) - 확장할 대상의 타입 확장 함수를 정의할 때 함수 이름 앞에 수신 객체 타입을 붙여줘야 한다. // 예) fun String.singleQuote() = "'$this'" 확장 함수는 '수신 객체 타입의 멤버함수'인 것처럼 호출할 수 있다. 다른 패키지에서 확장 함수를 쓰려면 import 해야한다. 확장 함수는 수신 객체 타입(=확장 대상 타입)의 public 원소에만 접근할 수 있다. 확장 함수를 사용하는 장점은 '구문적 편의'를 얻는 것이다. fun Book.categorize(String) fun categorize(Book, String) // 위 두 함수는 같다. // 하지만 전자가 구문적으로.. 2023. 10. 15.
아토믹 코틀린 - 객체 - 맵 Map은 key와 value를 연결하고, 키가 주어지면 그 키와 연결된 값을 찾아준다. 키-값 쌍을 mapOf()에 전달해 Map을 만들 수 있다. 키와 값을 분리하려면 to를 사용한다. 읽기 전용 - mapOf() 가변 - mutableMapOf() 2023. 10. 2.
아토믹 코틀린 - 객체 - 집합 Set은 각각의 값이 오직 하나만 존재할 수 있는 컬렉션이다. Set의 특징 원소의 중복은 불가능 set에 같은 원소를 중복해 넣으면 set이 자동으로 중복을 없애고 하나만 남긴다. 원소의 순서는 중요하지 않다. 내부에 같은 원소가 들어있으면 같은 집합으로 취급한다. 가장 일반적인 Set 연산은 in 이나 contains(), containsAll()를 사용해 원소인지 검사하는 것 합집합 만들기: intSet.union(setOf(3, 4, 5, 6)) 교집합 만들기: intSet intersect setOf(0, 1, 2, 7, 8) 차집합 만들기: intSet subtract setOf(0, 1, 9, 10) 읽기 전용 - setOf() 가변 set - mutableSetOf() 2023. 10. 2.
아토믹 코틀린 - 객체 - 가변 인자 목록 vararg 키워드를 사용하면 listOf처럼 임의의 길이로 인자를 받을 수 있는 함수를 정의할 수 있다. vararg = variable argument list 함수 정의에는 vararg로 선언된 인자는 최대 하나만 있어야 한다. 일반적으로 마지막 파라미터를 vararg로 선언한다. vararg를 사용하면 함수에 임의의 개수만큼(0포함) 인자를 전달할 수 있다. 함수 본문에서는 파라미터 이름을 통해 vararg 인자에 접근할 수 있다. 이 때 파라미터는 Array로 취급된다. package varargs fun v(s: String, vararg d: Double) { } fun main() { v("abc", 1.0, 2.0) v("def", 1.0, 2.0, 3.0, 4.0) v("ghi", 1... 2023. 10. 2.
728x90
반응형