Kotlin에서 클래스를 생성하려면 기본적으로는 Java와 똑같으나, 생성자를 만드는 방법은 다르다. Java에서는 클래스와 같은 이름의 method를 만들어서 생성자를 만들었으나, 코틀린에서는 init이라는 기본 생성자 함수와 constructor라는 보조 생성자 함
set은 list와 달리 순서가 정해져있지 않고 중복이 혀용되지 않는 컬렉션(collection)이다.따라서 set은 index로 위치를 지정하여 객체를 참조할 수 없으며, setName.contains(원소\_이름)으로 포함관계를 확인할 수 있다.set 역시 Muta
Collection에서 사용할 수 있는 여러가지 유용한 함수들지금까지 우리는 collection을 for을 사용하여 하나하나 꺼내면서 사용했다. 하지만, kotlin은 함수형 언어이기 때문에, 즉 순수함수를 사용하여 반복문과 같은 불필요한 코드를 줄일 수 있기 때문에
var과 val의 차이가 기억이 나는가? 아래의 코드를 보고 생각해보자.var의 위와 같이 한 번 할당을 하더라도 새로운 객체로 변경하여 할당할 수 있다. 하지만 val은 그럴 수 없다는 것인데, 여기서 주의할 것이 필요하다.val은 할당된 객체를 바꿀 수 없을 뿐이지
Kotlin은 현대적이지만, 개발자를 더 행복하게 해줄 성숙한 프로그래밍 언어이다. 간결하고 안전하고 상호운용이 가능하다. 여기서 상호운용은 자바를 비롯한 다양한 언어와 상호운용이 가능하다.(JVM을 통해 사용할 수 있는 다양한 언어가 포함된건가? 라는 생각이 듭니다.
Kotlin의 if와 java의 if는 어떻게 다른가? 예를들면 java와 Kotlin의 3항 연산자가 있다. 다음의 코드를 확인해보자.KotlinJava위 둘의 코드는 완전히 같은 의미를 갖고 있다. 하지만, Kotlin에서는 if가 값을 만들어 내기 때문에 Java
in 연산자를 사용해 어떤 값이 범위에 속하는지 검사할 수 있따. 반대로 !in을 사용하면 어떤 값이 범위에 속하지 않는지 검사할 수 있다. 다음은 어떤 문자가 정해진 문자의 범위에 속하는지 검사하는 방법이다. 단 범위가 정말 크다면 이러한 방법을 쓰는건 개인적으로 추
이번장에서 다루는 내용Collection, String, Regex를 다루기 위한 함수이름 붙인 인자, 디폴트 파라미터 값, 중위 호출 문법확장 함수와 확장 프로퍼티를 사용해 자바 라이브러리 적용최상위 및 로컬 함수와 프로퍼티를 사용한 코드 구조화collection은
자바를 주 언어 또는 잘 사용하는 사람들은 모든 코드를 클래스 또는 메소드로 작성해야 한다는 사실을 잘 알고 있다. 그리고 보통 그런 구조는 아주 잘 작동한다. 하지만 코드를 짜다 보면 이런 생각이 들 때가 있다. 그것은 바로 특정 메소드들을 어느 한 클래스에 포함시
이번에 다룰 내용1\. class, interface2\. 뻔하지 않은 constructor와 property3\. data class4\. class delegation5\. object개발자가 한 언어를 다루는 데 걸리는 시간이 대략적으로 2주 정도 걸린다. 어떤
가시성 접근자(visibility modifier)는 클래스 또는 최상위 선언에 대한 접근을 제한함으로써 그 클래스 또는 파일에 의존하는 외부 코드를 꺠지 않고도 클래스 내부 또는 파일을 변경할 수 있다.기본적으로 kotlin의 가시성 접근자는 java와 비슷하다. 자
Kotlin식 문법: 클래스, 객체, 인터페이스 -1에서 작성했던 코드처럼 kotlin도 class 내부에 class를 작성할 수 있다. 다만 kotlin의 경우 java와 다르게 inner를 작성하지 않으면 기본적으로 Nested(중첩)클래스가 된다는 사실을 잊지말자
java에서는 주 생성자를 1개 이상 선언할 수 있다. 물론 kotlin도 비슷하지만 java와는 좀 다르다.코틀린은 생성자를 다음과 같이 구분한다.primary 생성자secondary 생성자구분하는 법 또한 매우 간단하다.primary 생성자의 경우 class A()
인터페이스에 선언된 프로퍼티 구현
접근자의 가시성은 기본적으로 프로퍼티의 가시성과 같다. 하지만 원한다면 get이나 set 앞에 가시성 변경자를 추가해서 접근자의 가시성을 변경할 수 있다.LengthCounter라는 class는 자신에게 추가된 모든 단어의 길이를 합산한다. 전체 길이를 저장하는 pro
대규모 객체 지향 시스템을 설계할 때 시스템을 취약하게 만드는 문제는 보통 구현 상속에 의해 발생한다. 즉 하위 클래스가 상위 클래스의 메소드 중 일부를 오버라이드하면 하위 클래스는 상위 클래스의 세부 구현 사항에 의존하게 된다.결국에는 시스템이 변하거나 확장됨에 따라
Kotlin에서는 object키워드를 다양한 상황에서 사용하지만 모든 경우 클래스를 정의하면서 동시에 instance를 생성한다는 공통점이 있다.object 키워드를 사용하는 여러 상황을 살펴보자.객체 선언은 싱글턴을 정의하는 방법 중 하나다.companion obje
오늘은 coroutine(이하 코루틴)에 대해 이야기해보려고 해요.많은 앱에서 코루틴을 활용하여 service 단을 개발하고 진행하는 것을 보면서 꼭 배워야하는 기능이다! 라고 생각하고 있습니다. 물론 아직 잘하진 않지만, 개념적인 부분을 틈틈히 채워보려고 합니당!그리
최근 Spring에서 java → kotlin으로 Refactoring 하는 것에 무척이나 관심이 많아졌다. 그래서 오늘은 java가 kotlin으로 어떻게 변경될 수 있을지 알아보는 것으로 한 주를 시작해보려고 한다. 아주 기초적으로...본 코드는 Fastcampus