반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- express
- kotlininaction
- php개발
- Flutter
- 설치
- Eclipse
- script
- android
- 조건문
- 코틀린
- Flow
- 정보처리기사
- Kotlin
- php변수
- 이클립스
- java
- jquery
- Coroutine
- ios
- node.js
- 변수
- php
- 서버
- 플러터
- 그림으로 배우는 서버구조
- kotlin2.0
- 스나이퍼팩토리
- 스터디
- node
- SwiftUI
Archives
- Today
- Total
mygomii
[Kotlin] 2.2 행동과 데이터 캡슐화 : 클래스와 프로퍼티 본문
반응형
- 객체지향 언어로 클래스라는 추상화를 제공, 더 적은 양의 코드로 대부분의 공통적인 작업을 수행할수 있음
(Java)
public class Person {
private final String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
(Kotlin)
class Person(val name: String)
- 위 자바코드에 비해 kotlin는 이렇게 간단하게 작성할수 있다
2.2.1 클래스와 데이터를 연관시키고, 접근 가능하게 만들기 : 프로퍼티
- 클래스라는 개념은 데이터를 캡슐화하고, 캡슐화한 데이터를 다루는 코드를 한 주체 안에 가두는 것
- 자바에서는 데이터를 필드에 저장하면 멤버 필드의 가시성은 보통 비공개(private), 접근자 메서드를 제공 ⇒ 자바에서는 필드와 접근자를 한데 묶어 ‘프로퍼티(property)’ 라고 부름
- 코틀린은 프로퍼티를 언어 기본 기능으로 제공
class Person (
val name: String, // 읽기 전용 프로퍼티로 getter 를 만들어냄
var isStudent: Boolean // 쓸 수 있는 프로퍼티로 setter, getter를 만들어냄
)
2.2.2 프로퍼티 값을 저장하지 않고 계산 : 커스텀 접근자
class Rectangle(val height: Int, val width: Int) {
val isSquare: Boolean
get() {
return height == width
}
// get() = height == width <= 이렇게 사용해도 된다
}
- 위 코드 처럼 사용할 수 있다.
- 커스텀 게터를 정의하는 방식과 클래스 안에 함수를 정의하는 방식 중 성능 차이는 없지만, 가독성 차이는 있다. (요구사항에 따라 다르게 구현하면 될듯)
2.2.3 코틀린 소스코드 구조 : 디렉터리와 패키지
- 코틀린은 클래스를 조직화하기 위해 패키지라는 개념을 사용(자바 패키지와 비슷)
반응형
'Kotlin' 카테고리의 다른 글
[Kotlin] 3.1 코틀린에서 컬렉션 만들기 (0) | 2025.03.19 |
---|---|
[Kotlin] 2.5 코틀린에서 예외 던지고 잡아내기 (0) | 2025.03.12 |
[Kotlin] 2.4 대상 이터레이션: while과 for 루프 (0) | 2025.03.11 |
[Kotlin] 2.3 선택 표현과 처리 : enum과 when (0) | 2025.03.10 |
[Kotlin] 2.1 기본 요소 : 함수 변수 (0) | 2025.03.05 |