카테고리 없음
[Kotlin4-2] 객체지향 프로그래밍
연나연
2024. 1. 2. 23:06

객체 지향 프로그래밍이란 프로그램에서 사용되는 여러 데이터나 기능을 객체로 묶어서 관리하는 프로그래밍 기법이다.
객체는 매개체 하나에 대한 정보와 기능을 담고 있는 프로그램 요소이다.
객체 지향 프로그래밍 (OOP, Object Oriented Programming)
▶프로그램이 가져야 하는 다양한 기능들이나 변수들을 객체라는 단위로 나눠서 관리하는 기법
▶객체지향 프로그래밍 기법에서는 객체를 만들기 위한 클래스를 설계하고 클래스를 통해 필요한 만큼의 객체를 생성한다
▶각 객체들은 서로 독립적인 존재이며 하나의 객체에는 그 객체가 가져야할 모든 변수(맴버 변수)와 모든 함수(메서드)를 가지고 있어야 한다.
객체의 특징
▶ 매개체 하나의 정보를 관리하기 위해서는 객체 하나가 필요하며 관리하고자 하는 매개체의 수 만큼 객체를 생성해야 한다.
▶ 객체는 독립적으로 관리되며 서로에 대해 관여하지 않는다.
클래스
▶ Kotlin에서 객체는 자바와 동일하게 클래스를 설계하고 이를 통해 생성한다.
▶ 클래스에 정의한 변수와 메서드(함수)의 구조대로 객체가 생성되며 같은 형태의 객체가 필요하다면 같은 클래스로 객체들을 생성하면 된다.
class 클래스명 {
}
fun main(){
// 객체를 생성한다
// 객체가 생성되면 생성된 객체는 메모리에 자리를 잡는다
// 생성된 객체를 출력하면
// 클래스이름@객체의일렬번호 형태로 출력된다
println(TestClass1())
val obj1:TestClass1 = TestClass1()
println("obj1 : $obj1")
val obj2 = TestClass2()
println("obj2 : $obj2")
val obj3 = TestClass3()
// 객체가 가지고 있는 맴버 변수나 맴버 메서드를 사용하려면
// . 연산자를 사용한다.
obj3.a1 = 100
obj3.a2 = 200
println("obj3.a1 : ${obj3.a1}")
println("obj3.a2 : ${obj3.a2}")
obj3.testMethod1()
obj3.testMethod2()
}
// 클래스를 정의한다
// class 클래스 이용
class TestClass1{
}
// 코틀린에서는 클래스 내부에 코드가 없다면 { } 생략이 가능하다.
class TestClass2
// 객체가 가지는 변수를 객체의 멤버 변수라고 부른다.
// 객체가 가지는 함수를 객체의 멤버메서드라고 부른다.
class TestClass3{
//멤버 변수
var a1 = 0
var a2 = 0
//멤버 메서드
fun testMethod1(){
println("testMethod1")
}
fun testMethod2(){
println("testMethod2")
}
}
