
컴퓨터 프로그래밍에서 객체란 데이터와 그 데이터를 다루는 동작을 함께 포함하는 것이다. 객체 지향 프로그래밍(OOP)은 이러한 객체들을 사용하여 프로그램을 만드는 방법을 설명한다.
클래스(Class)
추상화(Abstraction)
인스턴스(Instance)
상속(Inheritance)
다형성(Polymorphism)
캡슐화(Encapsulation)
메세지 전송(message sending)
연관(association)
클래스는 객체 지향 프로그래밍의 핵심 원칙 중 하나인 캡슐화, 상속, 다형성을 구현하는데 사용된다. 이러한 개념을 통해 코드의 재사용성과 유지보수성을 높일 수 있다.
class Bird{ } // 내용이 비어있는 클래스 선언
class Bird // 중괄호는 생략 가능
//클래스 내에 프로퍼티와 메서드가 정의된 경우
class Bird
{
//프로퍼티 ...
//메서드 ...
}
//------------------------------------------------------
class Character {
//정보 > 변수 만들고 지정하고 초기화
var name:String = ""
var hairColor:String = ""
var height:Double = 0.0
//행위, 행동
fun fireBall() {
println("파이어볼!")
}
fun compositing(device1:String, device2:String): String {
var device3 = device1 + device2
println("새로운 무기인 ${device3}입니다")
return device3
}
}
BirdClassDefine.kt
fun main()
{
val coco = Bird() //클래스의 생성자를 통한 객체의 생성
coco.color = "blue" //객체의 프로퍼티에 값 할당
println("coco.color : ${coco.color}") //객체의 멤버 프로퍼티 읽기
coco.fly() //객체의 멤버 메서드의 사용
coco.sing(3)
}
class Bird //클래스의 정의
{
//프로퍼티들(속성, 변수)
//초기화 값을 잘 넣어줘야 한다.
var name : String = "mybird"
var wing : Int = 2
var beak : String = "short"
var color : String = "blue"
//메서드들(함수)
fun fly() = println("Fly wing : $wing")
fun sing(vol : Int) = println("Sing vol : $vol")
}
