티스토리 뷰

ETC/Summary

추상화 / 추상 클래스

LeeeGi 2019. 3. 5. 15:28
반응형

1. 추상화

 

 ◎ 몇 가지 공통 속성을 가지지만 서로 다른 속성도 가지는 객체를 집단화할 수 있게 한다.

 

ex) 사람과 호랑이라는 서로 다른 객체에서 공통적인 속성을 추출

 

 포유류란 객체로 집단화

 포유류와 조류의 공통적인 속성을 추출

 동물이라는 객체로 집단화

 이와 같은 과정을 추상화

 이 반대의 과정을 일반화

 

 ◎ 상세한 정보는 무시하고 필요성에 의해 있어야할 정보들만 간추려서 구성한다.

 

 

2. 추상 클래스의 정의

 

  추상화를 지원하는 클래스

 

  하위 클래스에 구현되어야 하는 기능을 선언

 

  추상 클래스는 선언만 들어가 있고 실제 기능은 구현되지 않음

 

 ◎ 상속받는 하위 클래스가 추상 클래스에서 선언된 기능을 서로 다른 형태로 구현하여 사용

 

ex) 말, 오리, 호랑이를 클래스로 정의

 

 동물이라는 상위 클래스로부터 상속받아 구현

 모두 동물이라는 클래스의 특징을 가짐

 특징(속성) : 눈, 입, 다리 등

 행동(메소드) : 숨쉰다, 먹는다, 움직인다

 



>> 먹는다      오리부리사료를 먹음
 호랑이는 날카로운 이빨고기를 먹음
 으로 여물을 먹음


=> 각각 기능의 구현이 다르다
 

 

 추상클래스는 하위 클래스에서 꼭 구현해야하는 기능을 선언하고 있음

 하위 클래스에서 중요한 기능을 구현하지 않을 가능성을 배제함

 

 

 

3. 추상 클래스 규칙

 

 1) 하나 이상의 추상 메소드를 가져야 하며, 이 추상 메소드는 구현부를 가지지 않는다.

 

 2) 추상 클래스를 이용해 바로 객체를 생성할 수는 없다.

 

 3) 추상 클래스를 상속한 클래스는 반드시 추상 메소드를 구현해야 한다.

 

 4) 추상 클래스는 일반 클래스 멤버들을 가질 수 있다.

 

 

 ● 형식

 



  [접근 제어자] abstract class 클래스이름
  {
  멤버 변수;
  일반 메소드;
  abstract 추상메소드이름();
  }

 

 

 

 

4. 추상메소드

 

 ◎ 선언 부분만 있고, 실제 실행되는 구현 부분은 없음

 

 ◎ abstract 예약어를 사용

 

 ◎ 하위 클래스에서 공통적으로 사용, 서로 다르게 실행

 

 ◎ 하위 클래스는 상위 클래스의 추상 메소드로 정의된 메소드를 오버라이딩하여 사용

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'ETC > Summary' 카테고리의 다른 글

HTTP 통신이란 ?  (0) 2023.06.21
접근제어자(private/default/protected/public)  (0) 2019.03.06
객체지향의 개념(추상화, 캡슐화, 상속성, 다형성)  (0) 2019.03.06
DAO와 VO(-DTO) 개념정리  (0) 2019.02.26
REST ful 이란?  (0) 2019.02.19
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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 31
글 보관함