객체 지향 프로그래밍은 C++,java,C# 등 많은 언어가 따르고 있는 형식이고 C언어 같은 기존의 절차 지향 언어의 패러다임을 바꾸는 혁신적인 개념의 언어로 출발했다고 한다. 실제 세계를 잘 모델링할 수 있다는 장점이 있어 대형 소프트웨어 설계에 적합하고 확장과 재활용이 용이하다.
객체 지향 프로그래밍은 프로그맹의 구조를 객체 간 상호작용으로서 표현하는 프로그래밍 방식이다.
클래스는 우리말로 "계층"이나 "분류"라는 의미를 가지고 있다. 프로그래밍에서 클래스란 객체를 생성하는 일종의 틀이다.
클래스, 프로퍼티(필드), 메서드, 객체
클래스를 선언하려면 class 키워드가 필요하다.
class Dog {} // 내용이 비어 있는 클래스 선언
class DOg // 중괄호는 생략 간으
생성자(Constructor)란 클래스를 통해 객체가 만들어질 때 기본적으로 호출되는 함수를 말한다.
// 주 생성자
class KotlinOne constructor(value: String) {
}
// 부 생성자
class KotlinTwo {
constructor(value: String) {
}
}
생성자를 사용하지 않을 경우에는 생성 시 자동으로 기본 생성자가 호출되는데 기본 생성자는 파라미터가 아무것도 없는 빈 코드 블록이다.
class Kotlin{
init {
// 생성자가 없으면 아무것도 없는 init 블록이 실행되는 것과 같다.
}
}
class Log {
var status: Int
companion object {
static fun d(tag: String, msg: String) {
//
}
static fun e(tag: String, msg: String){
//
}
}
}