개발/Kotlin

추상클래스(abstract class)란?

----___<<<<< 2019. 7. 27. 12:53

Pixabay

 

 추상클래스 라는 이름처럼 사용법도 추상적이다.

 

 무슨 추상클래스가 무뭔지 검색하면, 대부분 이상한 소리밖에 없어서...

 

 더 찾아보다 보니 명쾌한 설명이 있습니다.

 

 왜 다 개발자들은 설명을 어렵게 할까요...

 

 자, 일단 이런식으로 사용하는 겁니다.

 

 일반 함수는 

 

 fun nomal(){

      // 여기에 함수를 실행하는 곳

}

 

추상클래스는

 

 abstract fun absfunc()

 

 위와 같이 일단 선언은 했는데, 안에 내용이 없습니다.

 

 자, 이렇게 일단 선언을 해 놓고 타 클래스에서 override(오버라이드(override)는 자식 클래스에서 부모 클래스의 기능(method)를 재정의) 해서 사용합니다.

 

 일단 추상클래스안에 대략적인 세팅을 해놓고, 타 클래스에서 상세 세팅을 해놓는다고 생각하면 됩니다.

 

 그러니깐 동물이라는 추상클래스 안에, 동물은 짖고, 잠자고, 먹는다 라는 추상클래스를 지정해놓고

 

 강아지라는 새로운 클래스 안에서 짖음(멍멍), 잠잠(쿨쿨), 먹음(냠냠)이라고 상세한 부분을 지정해서 사용해준다고 생각하면 됩니다.