- 아나콘다 가상환경 작성방법
- 파이썬에서 thumbnail만들면서 io 에러난 경우 해결방법
- libraw 라이브러리 사용방법
- 아나콘다 업데이트하기
- 우분투에서 python pip 인스톨하기
- 파이썬으로 웹 스크랩하기10/10
- 파이썬으로 웹 스크랩하기9/10
- 파이썬으로 웹 스크랩하기8/10
- 파이썬으로 웹 스크랩하기7/10
- 파이썬으로 웹 스크랩하기6/10
- 파이썬으로 웹 스크랩하기5/10
- 파이썬으로 웹 스크랩하기4/10
- 파이썬으로 웹 스크랩하기3/10
- 파이썬으로 웹 스크랩하기2/10
- 파이썬으로 웹 스크랩하기1/10
- 파이썬으로 파일 다루기 13 / 13
- 파이썬으로 파일 다루기 12 / 13
- 파이썬으로 파일 다루기 11 / 13
- 파이썬으로 파일 다루기 10 / 13
- 파이썬으로 파일 다루기 9 / 13
- 파이썬으로 파일 다루기 8 / 13
- 파이썬으로 파일 다루기 7 / 13
- 파이썬으로 파일 다루기 6 / 13
- 파이썬으로 파일 다루기 5 / 13
- 파이썬으로 파일 다루기 4 / 13
- 파이썬으로 파일 다루기 3 / 13
- 파이썬으로 파일 다루기 2 / 13
- 파이썬으로 파일 다루기 1 / 13
- 파이썬으로 문자열 다루기 2/2
- 파이썬으로 문자열 다루기1/2
- 파이썬에서 사전 데이터 유형 이용하기2
- 파이썬에서 사전 데이터 유형 이용하기
- 파이썬에서 문자열 연결 및 복제하기
- 파이썬에서 수학 연산자 사용하기
- 13. 데이터베이스 13.8 데이터 삭제
- 13. 데이터베이스 13.7 데이터 수정
- 13. 데이터베이스 13.6 데이터 검색
- 13. 데이터베이스 13.5 데이터 조회
- 13. 데이터베이스 13.4 데이터 입력
- 13. 데이터베이스 13.3 데이터베이스 테이블 생성하기
- 13. 데이터베이스 13.2 SQL 맛보기
- 13. 데이터베이스 13.1 데이터베이스 설치
- 12. 디버깅
- 11.표준 라이브러리 11.2 logging 모듈
- 11. 표준 라이브러리 11.1 sys 모듈
- 10. 예외처리 10.6 with
- 10. 예외처리 10.5. try finally
- 10. 예외처리 10.4 예외 발생시키기
- 10. 예외처리 10.3 예외 처리
- 10. 예외처리 10.2 예외
- 10. 예외처리 10.1 오류
- 9.입력과 출력 9.4 유니코드
- 9.입력과 출력 9.3 Pickle
- 9.입력과 출력 9.2 파일입출력
- 9. 입력과 출력 9.1 입출력
- 8.자료구조 8.7 넘파이(numpy)
- 8.자료구조 8.6 집합(Set)
- 8.자료구조 8.5 열거형(Enum)
- 8.자료구조 8.4 사전
- 8.자료구조 8.3 튜플
- 8.자료구조 8.2 리스트
- 8.자료구조 8.1 문자열
- 7. 클래스 7.4 상속 Curr
- 7. 클래스 7.3 객체 초기화
- 7. 클래스 7.2 클래스의 사용
- 7. 클래스 7.1 클래스 정의하기
- 6. 모듈 과 패키지 6.5 패키지
- 6. 모듈 과 패키지 6.4 모듈의 name속성
- 6. 모듈 과 패키지 6.3 바이트 컴파일된 .pyc 파일
- 6. 모듈 과 패키지 6.2 dir() 함수를 이용하여 모듈 정보 알아내기
- 2018년 3월 프로그래밍 인기순위
- 6. 모듈 과 패키지 6.1 모듈을 정의하고 불러오기
- 5. 함수 5.7 람다(lambda) 함수
- 5. 함수 5.6 파이썬 내장함수
- 5. 함수 5.5 DocString
- 5. 함수 5.4 VarArgs 매개 변수
- 5. 함수 5.3 키워드 인수
- 5. 함수 5.2 기본 인수값
- 5. 함수 5.1 지역변수
- 4. 제어문 다루기 4.3 for
- 4. 제어문 다루기 4.2 while
- 4. 제어문 다루기 4.1 if문
- 파이썬 Python - OS.PATH 기초 정리
- 3. 연산자와 수식
- 2. 파이썬 기초 2.2 파이썬 기초
- 2. 파이썬 기초 2.1 첫걸음
- python 메소드 및 함수정리 모음
- C급 개발자와 함께하는 파이썬 - 01. 파이선 시작하기 #4
- C급 개발자와 함께하는 파이썬 - 01. 파이선 시작하기 #3
- 파이썬으로 간단한 스케줄러 만들기
- C급 개발자와 함께하는 파이썬 - 01. 파이선 시작하기 #2
- C급 개발자와 함께하는 파이썬 - 01. 파이선 시작하기 #1
- 파이썬(python)으로 RSS 크롤링하기
- Ubuntu(우분투) 리눅스에서 파이썬 설치하기
- 유용한 파이썬 라이브러리 모듈
- 파이썬으로 오늘날짜 폴더 생성하기
- 파이썬 프로그래밍에 대해서
- 두뇌를 정복하는 방법
- 윈도에서 BeautifulSoup4 설치방법
- 파이썬 알고리즘 배우기 좋은 사이트
7. 클래스 7.4 상속
C급 개발자와 함께하는 파이썬
7.4 상속
상속이란 위키백과에서 사전적 의미를 보면 다음과 같습니다.
“상속(相續)이란 사람의 사망에 의한 재산 및 신분상의 지위의 포괄적인 승계를 말한다. ”
부가적인 내용도 있지만 상속의 사전적 의미만을 가져왔습니다. 여기에서 중요한것은 “재산 및 신분상의 지위의 포괄적인 승계"에 있습니다. 상속이란 부모클래스에서 가지는 함수나 특성을 자식에게 그대로 전달하는 것입니다.
위에있는 내용은 자동차 클래스과 벤츠자동차 클래스가 있습니다. 벤츠자동차 클래스는 자동차의 성질을 모두 가져와서 그대로 사용이 가능합니다.
자동차 클래스에서는 초기화, 전진, 후진, 좌회전, 우회전 함수를 가지고 있는데요. 벤츠 클래스는 자동차 클래스에서 상속받고 초기화, 전진 두개의 함수만을 가지고 있습니다.
코드를 살펴보면 다음과 같습니다.
car = Cars("평범한 자동차", 2000)
<= 자동차형 객체 car를 만들고 car에 초기화를 하고 있습니다.
car.about()
<= 자동차형 객체 car는 about함수를 호출하고 있습니다. 이 함수는 Cars클래스에서 정의한 about함수를 호출합니다. 결과는 아래와 같이 나타나고 있습니다.
car.run()
<= 자동차형 객체 car는 자동차 Cars클래스의 run함수를 호출합니다. 결과는 아래와 같이 나타나고 있습니다.
benz = Benz("벤츠", 2001, "E Class" )
벤츠 클랙스 Benz형 객체를 benz 라는 객체를 만들어 줍니다.
benz.about()
benz객체의 about은 자동차 클래스 Cars 클래스에도 정의되어있고 Benz 클래스에도 정의되어있습니다. 상속받은후에 함수를 재정의하는 경우 재정의된 함수를 호출하게 되어 있습니다.
benz.run()
<= 위코드는 다음과 같습니다. Cars에서 run() 함수를 정의 했습니다. 그래서 car에서는 run()을 실행하면 “전진 입니다.” 메시지를 출력합니다. 그런데 Benz 클래스에서는 이 run()함수를 재정의 하였습니다. 그래서 Benz의 객체 benz는 run()함수를 실행하면 Benz클래스에서 정의한 “벤츠 자동차는 좀더 안락하게 전진합니다.” 라는 메시지를 출력합니다. 클래스가 상위 클래스를 상속받으면 해당 함수 및 변수들은 상속받은 클래스에서 그대로 사용이 가능합니다. 그런데 상속받은 클래스에서 함수를 재정의 하는경우 재정의된 함수를 사용하고 있습니다.
benz.back()
<= Benz 클래스에서는 run() 함수는 재정의 하였지만 back() 함수는 재정의 하지 않았습니다. 따라서 Cars클래스에 있는 back() 함수를 호출하여 “후진 입니다.” 메시지를 출력하고 있습니다.
7.99 요약
여기까지 파이썬에서 클래스를 정의하고 초기화 하고 상속에 대해서 배워보았습니다. 클래스 객체 이러한 용어는 파이썬 뿐만 아니라 기타 다른 객체지향 프로그래밍을 하면 배워야하는 개념입니다.
자세히 살펴보고 다시한번 숙지하여 제대로 이해하기 바랍니다.
한국의 민주주의도 역사의 발전 과정에서 그 길로 가고 있다고 생각합니다. 직접 독재적 권력, 전제적 권력을 상대로 싸우는 것입니다. 그 역사가 역행할 수 있는 가능성을 차단하는 노력이 그 다음입니다.