728x90
반응형

클래스

자바 Person 클래스 👇

public class Person {
		private final String name;

		public Person(String name) {
				this.name = name;
		}

		public String getName() {
				return name;
		}
}

 

자바-코틀린 변환기를 써서 위의 Person 클래스를 코틀린으로 변환 👇

class Person(val name: String)

자바를 코틀린으로 변환한 결과, public 가시성 변경자가 사라졌음

코틀린의 기본 가시성은 public이므로 이런 경우 변경자를 생략해도 됨

 


프로퍼티

자바에서는 필드와 접근자(getter, setter)를 한데 묶어 프로퍼티라고 부르며, 프로퍼티라는 개념을 활용하는 프레임워크가 많음
코틀린은 프로퍼티를 언어 기본 기능으로 제공하며, 코틀린 프로퍼티는 자바의 필드와 접근자 메소드를 완전히 대신함
class Person(
		val name: String, // 읽기 전용 프로퍼티로, 코틀린은 (비공개) 필드와 필드를 읽는 단순한 (공개) 게터를 만들어 냄 
		var isMarried: Boolean // 쓸 수 있는 프로퍼티로, 코틀린은 (비공개)필드, (공개) 게터/세터를 만들어 냄
)
더보기

💡 프로퍼티 팁 

자바에서는 getName과 setName이라는 접근자를 제공하는 자바 클래스를 
코틀린에서 사용할 때는 name이라는 프로퍼티를 사용할 수 있음


코틀린 소스코드 구조: 디렉터리와 패키지

코틀린에서는 클래스 임포트와 함수 임포트에 차이가 없으며, 모든 선언을 import 키워드로 가져올 수 있음

최상위 함수는 그 이름을 써서 임포트할 수 있음

package geometry.example

import geometry.shapes.createRandomRectangle // 이름으로 함수 임포트하기

fun main(args: Array<String>) {
    println(createRandomRectangle().isSquare) // "true"가 아주 드물게 출력
}

참고자료

https://incheol-jung.gitbook.io/docs/study/kotlin-in-action/untitled

반응형

'프로그래밍 > Kotlin' 카테고리의 다른 글

코틀린 기초(while과 for)  (0) 2022.01.11
코틀린 기초(enum과 when)  (0) 2022.01.10
코틀린 기초(함수와 변수)  (0) 2022.01.05
코틀린 응용  (0) 2022.01.04
코틀린이란?  (0) 2022.01.03
복사했습니다!