Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- FLUTTER
- Django
- 부스트코스
- 자바
- 코딩독학
- JavaScript
- removetooltip
- 포인터
- 컴퓨터과학
- 추상클래스
- 장고
- 건대입구맛집
- 속초여행
- 성수동카페
- 상속
- BeautifulSoup
- pipenv
- 아스키코드
- 남양주맛집
- 알고리즘
- c언어문자열
- 노마드코더
- popupmenubutton
- richtext
- DOM
- python3
- 강원도속초맛집
- Python
- 정렬알고리즘
- 가상환경
Archives
- Today
- Total
YUYANE
JAVA / 상속 - 추상 클래스 본문
1. 추상클래스의 개념
- '추상->구체화/실체화'의 컨셉으로 이해해보자.
- 예를 들어 컴퓨터를 조립한다고 가정하하자. 아직 용도의 컴퓨터(게이밍, 일반 문서 작업, 개발)를 만들 지 정하진 않았지만, 공통적으로 필요한 사항이 있을 것이다.
- 여기서 공통적으로 필요한 것을 모아놓은 것을 추상클래스(컴퓨터 / 일종의 설계도 역할)
추상클래스를 상속 받은 좀 더 구체적인 자식클래스(게이밍 컴퓨터, 문서 작업용 컴퓨터, 개발용 컴퓨터 등)
- 추상클래스를 상속받은 자식클래스는 추상클래스에 있는 추상 메소드를 반드시 오버라이딩 해서 구현해야 한다.
- 추상클래스는 객체를 생성할 수 없다.
2. 추상클래스를 사용하는 이유
- 위의 예제에서처럼 고려해야 할 사항이 많은 것을 작업 할 때, 미리 추상클래스를 생성해놓으면 컴퓨터를 만들 때 마다 일일이 필요한 것을 찾을 필요 없이, 이미 공통적으로 필요한 사항을 잘 정리해놓은 추상클래스에 맞춰 컴퓨터를 조립해나가면 된다. -> 편이성, 효율성
- 개발자 마다 각각 자신의 스타일대로 개발한다면 후에 유지 보수 시 코드를 알아보기 힘들 수 있다. 각자가 정의하는 변수명이나 개발 스타일이 상이하기 때문에.. 이 때 추상클래스를 서로가 공유하고 있다면 이해가 용이할 것
3. 주의
- 추상클래스에 final 이 있으면 컴파일 에러. final을 선언 하면 함수 재정의가 불가하기 때문이다.
** 참고 사이트
** 참고 문헌
자바의 정석 (남궁 성 지음)
'Programming Languages > JAVA' 카테고리의 다른 글
JAVA / 각 자릿수의 합을 구하기 (백준 4673번) (0) | 2020.11.23 |
---|---|
JAVA / nextInt( ) 다음에 nextLine( )을 입력 받을 때 생길 수 있는 오류(백준 4344 자바) (0) | 2020.11.20 |
JAVA / split으로 string 문자열 나누어 배열에 저장하기 (백준 8958 자바) (0) | 2020.11.20 |
JAVA/ 상속 - 캐스팅 (업캐스팅, 다운캐스팅) (0) | 2020.10.01 |
JAVA / 상속 - 생성자 (0) | 2020.10.01 |
Comments