코틀린에서의 클래스와 프로퍼티에 대해 알아봅니다.
코틀린 클래스(Class)
자바에서 아래와 같은 Person 클래스를
public class Person {
private final String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
코틀린 코드로 바꿔보면? 단! 한줄로 가능합니다.
class Person(val name: String)
코틀린에서는 명시하지 않아도 기본적으로 public 접근제한자여서 생략이 가능합니다.
코틀린 프로퍼티(Property)
요즘 나온 언어들과 같이 프로퍼티에 읽기 전용과 변경 가능한 프로퍼티가 있습니다.
val : 읽기 전용 프로퍼티
var : 변경 가능 프로퍼티
클래스 안에서 변경 가능한 프로퍼티 선언하기
class Person(
val name: String,
var isMarried: Boolean
)
name: 읽기 전용 프로퍼티. (비공개)필드와 public getter를 만들어냅니다.
isMarried: 변경 가능 프로퍼티. (비공개)필드, (공개)getter, (공개)setter를 만들어냅니다.
자바와 코틀린에서 Person 클래스를 선언하고 필드에 접근할때 차이점을 알아봅니다.
자바에서의 Person 클래스
Person person = new Person("Bob", true);
System.out.println(person.getName());
System.out.println(person.isMarried());
코틀린에서의 Person 클래스
val person = Person("Bob", true); //new 키워드 사용하지 않고 생성자 호출합니다.
println(person.name); //프로퍼티 이름을 직접 사용하여도 코틀린이 자동으로 getter를 호출해줍니다.
println(person.isMarried);
'개발&프로그래밍' 카테고리의 다른 글
[JUnit] JUnit5 기본 설정 및 어노테이션 (0) | 2022.03.16 |
---|---|
[JAVA] Java8 Stream API - findFirst() 와 findAny() (0) | 2022.03.15 |
[Spring] @SpringBootApplication 어노테이션 (0) | 2022.03.15 |
[Spring] 스프링 웹 어노테이션 (Spring Web Annotation) (0) | 2022.03.15 |
[Spring] @Controller 과 @RestController 어노테이션 (0) | 2022.03.14 |
댓글