안드로이드 개발자의 창고
[13일차 Kotlin] 객체지향 프로그래밍 본문
출처 : 안드로이드 앱스쿨 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 |