Kotlin

Kotlin/궁금한 점 의문 해결

data class의 얕은복사, 깊은복사 의문점 해결

1. 사전지식 data class란 데이터의 보관이 목적인 클래스로 가장 큰 특징인 toString(), equals(), hashode(), copy()가 우리가 원하는 목적으로 오버라이딩이 되어 있어 데이터 출력, 비교, 복사가 편하다. GitHub - meenjoon/TIL Contribute to meenjoon/TIL development by creating an account on GitHub. github.com 2. 의문점 및 해결 [의문점] 나는 객체(인스턴스)를 생성하고 이것을 '='을 통해 다른 변수에 할당해주면 얕은 복사가 된다는 것을 깨달았다. 나는 구글링을 해보면서 얕은복사가 아닌 깊은복사를 하기 위해선 data class의 copy()메서드, Cloneable 인터페이스 사용..

Kotlin/궁금한 점 의문 해결

얕은 복사를 이용해 문제를 풀었을때의 의문점 해결

▩목 차▩ 1. 의문점 및 해결 1. 의문점 해결 // 코드 val chunkList = mutableListOf() for((index,value) in list.withIndex()) { val lastChunk = chunkList.lastOrNull() if (lastChunk == null || lastChunk.count() == size) { chunkList.add(mutableListOf(value)) } else { println() chunkList.forEachIndexed { index2, it -> print("|for문 인덱스($index),값 추가 전 인덱스($index2)| ") it.forEach { print(" $it ") }} println() lastChunk.ad..

Kotlin/궁금한 점 의문 해결

StringBuilder의 값 비교(==)와 주소값 비교(===)에 대한 의문점 해결

▩목 차▩ 1. 나의 의문점 및 해결 1. 나의 의문점 및 해결 val people = "사람" val people2 = "사람" println("${people == people2}") // true 결과 반환, String 타입인 경우(기본자료형도 마찬가지) 값만 같으면 주소값과 값도 같다고 나온다. println("${people === people2}") // true 결과 반환, String 타입인 경우(기본자료형도 마찬가지) 값만 같으면 주소값과 값도 같다고 나온다. println("${people === null}") // null과 비교했을 시 false 반환 val name = buildString { append("이름") } val name2 = buildString { append(..

Kotlin/Kotlin in action

6장 코틀린 타입 시스템

▩목 차▩ 1. 널 가능성 1-1. 널이 될 수 있는 타입 1-2. 타입의 의미 1-3. 안전한 호출 연산자: ?. 1-4. 엘비스 연산자: ?: 1-5. 안전한 캐스트: as? 1-6. 널 아님 단언: !! 1-7. let 함수 1-8. 나중에 초기화할 프로퍼티 1-9. 널이 될 수 있는 타입 확장 1-10. 타입 파라미터의 널 가능성 1-11. 널 가능성과 자바 1-11-1. 플랫폼 타입 1-11-2. 상속 1-12. 널 가능성에 대한 논의 정리 2. 코틀린의 원시 타입 2-1. 원시타입: Int, Boolean 2-2. 널이 될 수 있는 원시 타입: Int?, Boolean? 등 2-3. 숫자 변환 2-4. Anym Any?: 최상위 타입 2-5. Unit 타입: 코틀린의 void 2-6. Noti..

Kotlin/Kotlin in action

5장 람다로 프로그래밍

▩목 차▩ 1. 람다 식과 멤버 참조 1-1. 람다 소개: 코드 블록을 함수 인자로 넘기기 1-2. 람다와 컬렉션 1-3. 람다 식의 문법 1-4. 현재 영역에 있는 변수에 접근 1-5. 멤버 참조 2. 컬렉션 함수형 API 2-1. 필수적인 함수: filter와 map 2-2. all. any, count, find: 컬렉션에 술어 적용 2-3. groupBy: 리스트를 여러 그룹으로 이뤄진 맵으로 변경 2-4. flatMap과 flatten: 중첩된 컬렉션 안의 원소 처리 3. 지연 계산(lazy) 컬렉션 연산 3-1. 시퀸스 연산 실행: 중간 연산과 최종 연산 3-2. 시퀸스 만들기 4. 자바 함수형 인터페이스 활용 4-1. 자바 메소드에 람다를 인자로 전달 4-2. SAM 생성자: 람다를 함수형 ..

Kotlin/Kotlin in action

4장 클래스, 객체, 인터페이스

▩ 목 차 ▩ 1. 기본 요소: 함수와 변수 1-1. 클래스 계층 정의 1-1-1. 코틀린 인터페이스 1-1-2. open, final, abstract 변경자: 기본적으로 final 1-1-3. 가시성 변경자: 기본적으로 공개[public] 1-1-4. 내부 클래스와 중첩된 클래스: 기본적으로 중첩 클래스[ 중첩 클래스[자바에선 static nested, 바깥쪽 클래스에 대한 참조 저장 안함] class A, 내부클래스[자바에선 inner class, 바깥쪽 클래스에 대한 참조를 저장함] inner class A ] 1-1-5. 봉인된 클래스: 클래스 계층 정의 시 계층 확장 제한[sealed class] 1-2. 뻔하지 않은 생성자와 프로퍼티를 갖는 클래스 선언 1-2-1. 클래스 초기화: 주 생성자..

삼겹살짱짱맨
'Kotlin' 카테고리의 글 목록