본문 바로가기

언어10

Java와 비교하는 Kotlin - 람다 함수와 고차 함수 보호되어 있는 글 입니다. 2022. 11. 5.
Java와 비교하는 Kotlin - 코틀린의 클래스 종류 데이터 클래스 데이터 클래스: data 키워드로 선언하며 자주 사용하는 데이터를 객체로 묶어준 클래스 // 데이터 클래스 선언 class NonDataClass(val name: String, val email:String, val age: Int) data class DataClass(val name: String, val email: String, val age: Int) fun main() { // 객체 생성 val non1 = NonDataClass("data", "da@ta.com", 10) val non2 = NonDataClass("data", "da@ta.com", 10) val data1 = DataClass("data", "da@ta.com", 10) val data2 = DataCla.. 2022. 11. 5.
Java와 비교하는 Kotlin - 클래스를 재사용하는 상속 상속과 생성자 상속: 클래스를 선언할 때 다른 클래스를 참조해서 선언하는 것 코틀린에서 어떤 클래스를 상속받으려면 선언부에서 콜론(:)과 함께 상속받을 클래스 이름을 입력한다. // 클래스 상속 형식 open class Super { // 상속할 수 있게 open 키워드 이용 } class Sub: Super() { // Super를 상속받아 Sub 클래스 선언 } 상위 클래스: 상속 관계에서 상속 대상이 되는 클래스 하위 클래스: 상속받는 클래스 코틀린의 클래스는 기본적으로 다른 클래스가 상속할 수 없기 떄문에 다른 클래스에서 상속할 수 있게 선언하려면 open 키워드를 사용해야 한다. //매개변수가 있는 상위 클래스의 생성자 호출 open class Super(name: String) { } clas.. 2022. 11. 5.
Java와 비교하는 Kotiln - 클래스와 생성자 클래스 선언 // 클래스 선언 class User { } // 클래스의 멤버 class User { var name = "IM" // 변수 constructor(name: String){ // 생성자 this.name = name } fun someFun() { // 함수 println("name: $name") } class SomeClass { } // (내부) 클래스 } // 객체 생성과 멤버 접근 val user = User("kim") user.someFun() [실행 결과] kim 클래스의 멤버에는 생성자, 변수, 함수, 클래스로 구성된다. 코틀린에서 객체 생성할 때 new 키워드를 사용하지 않고 바로 객체 생성한다. 자바와 차이점 class User { String name; // 변수 pu.. 2022. 11. 5.