객체지향이란?
- 객체를 중심으로 생각하는 프로그래밍한다는 의미
- 객체지향은 인간의 몸에 비유할 수있음
- 인간의 몸에 손, 발, 눈 귀와 같은 기관이 있다면 각 기관은 각기 다른 기능을 가지고 있음
- 즉, 하나의 객체(obj)안에 여러가지 기능으 ㄹ가진 데이터와 메서스(함수)가 들어있음
- 클래스 기반의 객체 지향프로그램 언어는 클래스라는 것을 기반으로 객체(obj)를 만듬
-객체(obj) : 여러가지 속상을 가질수 있는 대상(함수, 데이터)
파이썬 클래스
- 클래스는 오브젝트의 큰 틀
- 함수와 변수를 클래스 안에 정의할 수 있음
- 클래스 안에 정의한 함수를 메서드라고 부름
- 클래스 안에 메서드를 정의하려면 def를 선언하여 사용
- 클래서 선언 아래 있어야하고 자신을 나타내는 self라는 인수가 반드시 있어야한다는 점 빼곤 일반 함수과 같이 사용
- 클래스 안에 있는 메서드를 정의 할때는 첫 번째 인수로 반드시 self를 지정
- 클래스 안에 정의한 변수를 속성이라고 부름


상속
이미 정의된 클래스를 기반으로 새로운 요소를 추가해서 클래스를 다시 정의하는 것
새로 정의한 서브클래스에는 슈퍼 클래스가 갖고 있던 기능 + 새로 추가한 기능


상속은 언제 사용하면 좋을까?
- 자주 사용될 것 같은 요소들을 클래스의 형태로 묶을 때 사용
메서드 오버라이드
슈퍼 클래스와 서브클래스 모두 그 안에 같은 메서드가 정의 되어있으면 서브클래스가 그 같은 메서스를 오버라이드해 재정의 한 것이다.
다중 상속