TIL. 코틀린 클래스(선언, 생성자)

객체 지향 프로그래밍은 C++,java,C# 등 많은 언어가 따르고 있는 형식이고 C언어 같은 기존의 절차 지향 언어의 패러다임을 바꾸는 혁신적인 개념의 언어로 출발했다고 한다. 실제 세계를 잘 모델링할 수 있다는 장점이 있어 대형 소프트웨어 설계에 적합하고 확장과 재활용이 용이하다.

객체 지향 프로그래밍은 프로그맹의 구조를 객체 간 상호작용으로서 표현하는 프로그래밍 방식이다.

그래서 클래스가 뭔데 ?

클래스는 우리말로 "계층"이나 "분류"라는 의미를 가지고 있다. 프로그래밍에서 클래스란 객체를 생성하는 일종의 틀이다.

알아둬야 할 용어📕

클래스, 프로퍼티(필드), 메서드, 객체

  • 추상화(Abstraction): 특정 클래스를 만들 때 기본 형식을 규정하는 방법
  • 인스턴스(Instance): 클래스로부터 생성한 객체
  • 상속(Inheritance): 부모 클래스의 내용을 자식 클래스가 그대로 물려받음
  • 다형성(Polymorphism): 하나의 이름으로 다양한 처리를 제공
  • 캡슐화(Encapsulation): 내용을 숨시고 필요한 부분만 사용
  • 메세지 전송(Message Sending): 객체 간에 주고받는 메시지
  • 연관(Association): 클래스 간의 관계

클래스 선언하기

클래스를 선언하려면 class 키워드가 필요하다.

 class Dog {} // 내용이 비어 있는 클래스 선언 
 class DOg // 중괄호는 생략 간으 

클래스 생성자

생성자(Constructor)란 클래스를 통해 객체가 만들어질 때 기본적으로 호출되는 함수를 말한다.

주 생성자와 부 생성자


// 주 생성자 
class KotlinOne constructor(value: String) {

}


// 부 생성자 
class KotlinTwo {
    
	constructor(value: String) {
        
    }
    

}

생성자를 사용하지 않을 경우에는 생성 시 자동으로 기본 생성자가 호출되는데 기본 생성자는 파라미터가 아무것도 없는 빈 코드 블록이다.

	class Kotlin{
    	init {
        	// 생성자가 없으면 아무것도 없는 init 블록이 실행되는 것과 같다. 
        }
    }

Log 클래스의 코드 함축

class Log {
    
    var status: Int
    companion object {
        static fun d(tag: String, msg: String) {
            //
        }
        
        static fun e(tag: String, msg: String){
            // 
        }
    }
}

좋은 웹페이지 즐겨찾기