Archives
Recent Posts
«   2025/02   »
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
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[13일차 Kotlin] 객체지향 프로그래밍 본문

Computer/Kotlin

[13일차 Kotlin] 객체지향 프로그래밍

Wise-99 2023. 5. 14. 03:48

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 객체지향 프로그래밍이란?

  • 객체 지향 프로그래밍이란 프로그램에서 사용되는 여러 데이터나 기능을 객체로 묶어서 관리하는 프로그래밍 기법이다.
  • 객체는 매개체 하나에 대한 정보와 기능을 담고 있는 프로그램 요소이다.

 

📖 객체의 특징

  • 매개체 하나의 정보를 관리하기 위해서는 객체 하나가 필요하며 관리하고자 하는 매개체의 수만큼 객체를 생성해야 한다.
  • 객체는 독립적으로 관리되며 서로에 대해 관여하지 않는다.

 

📖 클래스

  • Kotlin에서 객체는 자바와 동일하게 클래스를 설계하고 이를 통해 생성한다.
  • 클래스에 정의한 변수와 메서드(함수)의 구조대로 객체가 생성되며 같은 형태의 객체가 필요하다면 같은 클래스로 객체들을 생성하면 된다.

 

📖 예졔 코드

fun main() {
    val obj1:TestClass1 = TestClass1()
    println("obj1 : $obj1")

    val obj2 = TestClass1()
    println("obj2 : $obj2")

    val obj3 = obj2
    println("obj3 : $obj3")

    val obj4 = TestClass2()
    println("obj4 : $obj4")
}

class TestClass1{

}

class TestClass2

✔️ 코드 해석

  • 코틀린은 자바와 달리 객체를 생성할 때 new 키워드를 사용하지 않는다.
  • obj2처럼 클래스 타입을 생략할 수 있다.
  • 참조 변수에는 객체의 ID 정보가 들어있으며 obj3와 같은 다른 변수에 담을 수 있다.
  • 클래스 내부에 내용(멤버 변수, 멤버 메소드)이 없다면 TestClass2처럼 생략할 수 있다.

 


 

fun main{
	val obj5 = TestClass3()

    obj5.a1 = 100
    obj5.a2 = 200

    println("obj5.a1 : ${obj5.a1}")
    println("obj5.a2 : ${obj5.a2}")
    obj5.testMethod1()
    obj5.testMethod2()
}

class TestClass3{
    // 멤버 변수
    var a1 = 0
    var a2 = 0

    // 멤버 메서드
    fun testMethod1(){
        println("testMethod1")
    }

    fun testMethod2(){
        println("testMethod2")
    }
}

✔️ 코드 해석

  • 자바와 같이 클래스 참조 변수를 선언하면 멤버 변수나 멤버 메소드에 접근할 수 있다.

 

'Computer > Kotlin' 카테고리의 다른 글

[14일차 Kotlin] 상속  (0) 2023.05.16
[13일차 kotlin] init과 생성자(constructor)  (0) 2023.05.14
[12일차 Kotlin] 반복문(Loop)  (0) 2023.05.12
[12일차 Kotlin] When  (0) 2023.05.12
[12일차 Kotlin] 제어문  (0) 2023.05.12