3. OOP
1. 프로그램을 여러 개의 독립적인 단위 ( 객체 ), 즉 객체들의 모임으
로 파악
2. 객체와 클래스로 구성되어 있음
3. 프로그램이 유연하고 변경이 용이
4. 파이썬에서 모든 데이터들은 객체로 표현되거나 객체 사이의 관계
로 표현됨
4. 클래스와 인스턴스
A. 클래스
• 변수와 . 함수를 묶어서 하나의 객체 ( 타입 ) 로 만든 것
• 새로운 데이터 타입을 정의하는 것
• 비슷한 속성을 가진 객체를 묶는 큰 틀
A. 인스턴스
• 범주나 개념으로부터 실재하는 객체를 만드는 것
• 컴퓨터 저장공간에서 할당된 실체
• 클래스를 정의한 객체
6. 클래스의 구성
A.변수
• 인스턴스 변수
• 클래스 변수
A.메소드 ( 클래스 내에 있는 함수 )
• 인스턴스 메소드
• 클래스 메소드
• 스태틱 ( 정적 ) 메소드
7. A. 변수
• 인스턴스 변수 : 인스턴스에 선언된 변수 (self) …
• 클래스 변수 : …클래스에 선언 된 변수 ??
8. B. 메소드
• 인스턴스 메소드 : 인스턴스에서 사용되도록 만들어진 메소드
(self)
• 클래스 메소드 : 클래스에서 사용되도록 만들어진 메소드 ( 인스턴스
멤버에 접근 불가 )
• 스태틱 ( 정적 ) 메소드 : 상동 ( 인스턴스 , 클래스 멤버에 접근 불가 )
9. 상속
• 어떤 클래스가 다른 클래스의 성질을 물려받는 것
• 모든 객체는 object 클래스를 상속
10. 매직 메서드 (method)
• 클래스 안에 정의 할 수 있는 스페셜 메소드
• 미리 정의되어 있는 특별한 이름을 가진 메소드들을
재정의
• 언더스코어 (_) 가 두개가 붙는게 특징이기 때문에
Double UNDERscore Method 를 줄여서 던더메소
드 라고 부름
11. 종류
• __init__ : 새로운 인스턴스를 만들때 제일 처음으로 실행되는
메소드
• __new__ : 인스턴스가 생성되고 나서 호출되는 메소드
• __del__ : 객체가 소멸 될 때 해야할 일을 지정하는 메소드
12. 종류
• __getattr__ : 객체의 없는 속성을 참조하려 할때 호출
• __getattribute__ : 객체의 속성을 호출할때 무조건 호출
• __str__ : 객체의 속성을 출력 할 때 호출
• __add__ : 객체의 속성을 + 키워드로 더할 때 호출
• __dir__ : 객체의 속성들을 보여주려 dir( ) 을 사용할 때 호출
• __slots__ : 사용할 변수의 이름을 미리 지정 ( 지정되지 않은 변수가 있
다면 에러발생 )