티스토리 뷰
상속 접근 지정자 |
부모 클래스의 접근 속성 |
자식 클래스의 접근속성 |
public (default) |
public |
public |
private |
접근 불가 | |
protected |
protected | |
private |
public |
private |
private |
접근 불가 | |
protected |
private | |
protected |
public |
protected |
private |
접근 불가 | |
protected |
protected |
일반적인 경우 대부분 public 상속을 이용하면 된다.
private 상속은 부모 클래스의 private을 제외한 멤버를 private속성으로 가져온다.
부모 클래스의 멤버를 숨길때 사용한다.
protected 상속은 부모 클래스의 private을 제외한 멤버를 protected 속성으로 가져온다.
부모 클래스의 범용 멤버를 자식 클래스에게만 열어주는 역할을 한다.
사실 최상위 클래스의 메소드가 잘 정의 되어 있다면, public 상속만으로도 충분한 경우가 대부분이다.
public상속이 아닌, private상속과 protected 상속의 경우 코드 가독성을 떨어뜨리고, 복잡도가 증가한다.
멤버의 접근 권한은 작으면 작을 수록 좋은데, 복잡도 증가를 두려워해서 public 상속만 쓰는것은 옳지 않다.
차분한 리팩토링을 통해 최상위 클래스까지 적절한 접근 지정 권한이 설정되어있는 것이 최상이겠지만, 그렇지 못하다면 protected상속이나, private상속을 통해서라도 최소한의 접근 지정 권한만 주도록 하자.
'C++ > General' 카테고리의 다른 글
dllimport, dllexport (3) | 2009.12.29 |
---|---|
스택 크기 (1) | 2009.12.08 |
C언어에서의 데이터가 저장되는 영역 (1) | 2009.03.27 |
32bit Windows 메모리 관리 (0) | 2009.03.27 |
참조자와 포인터 (2) | 2009.03.19 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- TDD
- perfmon
- 멀티스레드
- 디자인 패턴
- 루비 온 레일즈
- MS-SQL
- 바로가기 프로그램
- CppSQLite
- TraceRoute
- Ruby on Rails
- 디버깅
- ftp
- NDC2013
- ruby
- 루비
- SDL
- Rails
- c언어
- SQLite Spy
- 임백준
- 좋은 프로그래머
- 게임개발포에버
- EzShortcut
- 게임데브포에버
- 조엘 온 소프트웨어
- 리버스 엔지니어링
- EasyExec
- 엘키
- svn
- RoR
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함