Android(Kotlin)

Android Interface abstract class 차이

----___<<<<< 2021. 8. 27. 22:11

 

 android Interface와 abstract클래스의 차이를 한번 보겠습니다.

 

 흔히 많이들 들어봐서 대충은 알고 있지만, 이거 설명해보라고 하면 어버버 하는 경우가 많죠? 제가 그렇습니다.

 

 그러면 하나씩 살펴볼게요. 우선적으로 정의입니다.

 

  추상클래스란 상속을 통해서 자손 클래스에서 완성을 유도하는 클래스 객체입니다. 미완성 설계도 정도로 볼 수 있으면 될 것 같습니다. (속된 말로 와꾸...?)

 

 인터페이스란 다른 클래스 작성을 도와주는 목적으로 작성하고 다중상속이 가능합니다. 이 부부도 미완성 설계도라고 볼 수 있는데, 미완성 설계도 중에서 가구배치 정도가 들어간 형태라고 생각하면 될 것 같습니다.

 

 그러면 하나만 사용하면 되지 왜 복잡하게 2개 다 사용하냐? 인터페이스만 사용하면 될 꺼 아니냐? 라고 묻는 당신은 훌륭한사람

 

 인터페이스만으로 구현하면, 인터페이스를 다 override하여 사용해서 불편한 점이 생깁니다.

 

 기본 메서드를 implement 해보신 분들은 공감하실거에요

 

 그리고 하다보면 오버라이딩 오버로딩에 대한 이야기도 듣는데 2가지의 구분은 아래와 같습니다.

 

 오버로딩 : 같은 이름의 메서드를 여러개 가지면서 매개변수 유형과 개수가 다르게 사용

 오버라이딩 : 상위 클래스의 메서드를 하위 클래스가 재정의해서 사용

 

 

 

 

 

 

 - 참조

 

https://myjamong.tistory.com/150

 

[JAVA] 추상클래스 VS 인터페이스 왜 사용할까? 차이점, 예제로 확인 :: 마이자몽

추상클래스 인터페이스 왜... 사용할까? 우리는 추상클래스와 인터페이스에 대해서 알고 있냐고 누가 물어본다면 알고 있다고 대답을 하고있습니다. 그런데 이론적인 내용 말고 정작 "왜 사용하

myjamong.tistory.com

 

'Android(Kotlin)' 카테고리의 다른 글

Google Android Hilt + Room Ex  (0) 2021.08.28
paging Room Hilt Simple EX  (0) 2021.08.28
Android infinit scroll  (0) 2021.08.27
Android Unit Test  (0) 2021.08.27
anti MVVM Pattern  (0) 2021.08.27