티스토리 뷰
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
- rotation
- Android
- rotate
- dart
- 버전카타로그
- 아이폰
- toml
- 함수
- 자바
- ~=
- IOS
- Swift
- 변수
- 연산자
- 코틀린
- .toml
- 격파르타 후기
- Xcode
- gem update
- 아이폰앱개발
- 음성재생
- FLUTTER
- NoAnimation
- Kotlin
- sqld 자격증 합격
- 격파르타 합격후기
- 안드로이드
- 스위프트
- Java
- 격파르타 장점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |