티스토리 뷰


아주 잘 정리되어있는 블로그


추상 클래스


-> 추상 클래스에는 이런 이런 기능을 하는 메소드(추상메소드)가 있는데(내용이 없고 선언만 되어있음),

 이것을 상속받은 자식 클래스에서 그 내용을 오버라이딩(재정의)해서 구현하게끔 하기 위해서 사용함.

-> 좀더 쉽게 말하자면, 추상클래스에는 껍데기만 있는데, 이것을 상속받은 자식 클래스에서 알맹이까지 구현하는것.



1. 인스턴스화 시킬수 없고, 오직 상속의 용도로만 사용된다.

2. 반드시 하나 이상의 추상 메소드를 갖는 클래스.



추상 클래스는 일반 메소드도 포함가능하며, 추상 클래스를 상속받는 자식 클래스에서는 반드시 추상 클래스의 추상 메소드를 오버라이딩해야함. 물론, 부모 추상 클래스의 일반 메소드도 자식 클래스에 포함 되어 있음.



인터페이스


-> 추상 클래스의 극단적인 형태, 추상 클래스는 추상 메소드가 아닌 일반 메소드도 포함 되어 있었지만, 인터페이스에서는 추상 메소드로만 구성됨.



또한 인터페이스는 상속받는다라는 표현이 아니라 구현한다고 표현한다. 

따라서 인터페이스를 구현하는 자식 클래스에서는 인터페이스에 있는 모든 추상 메소드를 오버라이딩 해야한다.



cf>추상 메소드란, 함수가 선언만 되어 있고, 내부 로직은 구현되어 있지 않은채로 비어있는 그런 함수를 의미한다.

ex) void hello(){};


'컴퓨터 공학과 졸업 > 객체지향' 카테고리의 다른 글

객체 지향의 4대 특징  (1) 2018.07.27
클래스와 객체의 관계  (1) 2018.07.27
다형성이란  (0) 2018.01.22
c++ 업캐스팅과 다운캐스팅  (2) 2018.01.16
자바와 자바 가상 머신  (0) 2017.09.09
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함