티스토리 뷰

728x90
반응형
SMALL

안녕하세요, 안드로이드 앱 개발을 즐기는 여러분! 이번에는 Kotlin에서의 핵심 개념 중 하나인 클래스와 객체에 대해 알아보겠습니다. 안드로이드 앱을 개발할 때 클래스와 객체는 코드를 모듈화하고 유지보수성을 높이는 데 중요한 역할을 합니다.

1. 클래스와 객체: 개념 이해하기

1-1. 클래스(Class)

클래스는 객체를 만들기 위한 청사진(blueprint)이며, 데이터와 행동을 함께 묶어서 표현하는 개념입니다.

class Car(val brand: String, val model: String) {
    // 클래스의 속성(프로퍼티)
    var isRunning: Boolean = false

    // 클래스의 메서드
    fun start() {
        isRunning = true
        println("$brand $model is started.")
    }

    fun stop() {
        isRunning = false
        println("$brand $model is stopped.")
    }
}

1-2. 객체(Object)

객체는 클래스의 인스턴스로, 실제로 메모리에 할당되어 사용되는 것을 의미합니다.

// Car 클래스의 인스턴스 생성
val myCar = Car("Toyota", "Corolla")

// 객체의 메서드 호출
myCar.start()

2. 클래스와 객체 사용하기

2-1. 속성과 메서드

// 속성에 접근
val carBrand = myCar.brand

// 메서드 호출
myCar.stop()

2-2. 생성자(Constructor)

class Person(val name: String, val age: Int) {
    // 보조 생성자
    constructor(name: String) : this(name, 0)
}

// Person 객체 생성
val person1 = Person("Alice")
val person2 = Person("Bob", 25)

3. 상속과 다형성

3-1. 상속(Inheritance)

open class Animal(val name: String) {
    fun sleep() {
        println("$name is sleeping.")
    }
}

// 자식 클래스
class Dog(name: String, val breed: String) : Animal(name)

// Dog 객체 생성
val myDog = Dog("Buddy", "Golden Retriever")

3-2. 다형성(Polymorphism)

// 함수 다형성
fun introduce(animal: Animal) {
    println("This is ${animal.name}.")
}

// 다양한 동물 객체 생성
val myCat = Animal("Whiskers")
val myParrot = Animal("Polly")

// 함수 호출
introduce(myDog) // "This is Buddy."
introduce(myCat) // "This is Whiskers."
introduce(myParrot) // "This is Polly."

4. 통합 예제: 안드로이드 앱의 사용자 클래스

class User(val username: String, val email: String, val age: Int) {
    fun getInfo(): String {
        return "Username: $username, Email: $email, Age: $age"
    }
}

// User 객체 생성
val user1 = User("john_doe", "john@example.com", 28)

// 객체의 메서드 호출
val userInfo = user1.getInfo()
println(userInfo)

마무리

이제 여러분은 Kotlin에서의 클래스와 객체를 어떻게 정의하고 활용하는지 알게 되었습니다. 다음 시간에는 안드로이드 앱 개발에서 빼놓을 수 없는 주제인 널 안정에 대해 배워보도록 하겠습니다. 계속해서 즐거운 Kotlin 코딩되세요! 🚀

728x90
반응형
LIST
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함