* 객체(object)
- 여러가지 속성을 가질 수 있는 대상. (속성 + 행위로 표현 가능)
. 객체 : 학생
. 속성 : 이름, 키, 나이, 생년월일, 몸무게, 성격, 눈크기, 코크기 ......
. 추상화(abstraction) : 속성 중에서 필요한 요소만을 골라 객체를 표현, 복잡한 자료, 모듈, 시스템으로부터 핵심적인
기능을 간추려 내는 것.
* 클래스(class)
- 객체의 변수와 함수를 정의한 객체의 설계도. (속성과 행위를 합친 객체를 생성하기 위한 구문)
. 클래스 선언
class Student: # 앞 글자를 대문자로 선언(Camal case)하면 클래스로 구분한다.
속성
행위
* 인스턴스(instance)
- 클래스를 기반으로 만들어진 객체. (실체화 된 객체)
. 인스턴스 선언
student = Student() # 생성자 함수, 인스턴스는 소문자 s, 클래스 이름은 대문자 S 임에 유의.
(인스턴스) (클래스이름)
* 함수프로그램과 객체지향 프로그램 차이점
- 함수 프로그램 : 동사 + 목적어로 된 명령어, print(이름,점수)
- 객체지향 프로그램 : 주어가 행위를 하는 주어 + 동사 + 목적어 형태. Student.print()
* 생성자(constructor)
- 클래스 이름과 같은 함수. _ _init_ _ 라는 함수를 만들어 객체 생성.
class Student:
def _ _init_ _(self, name):
self.name = name
Student("김새롬") # name 속성에 "김새롬" 문자열을 저장.
* 메소드(method), 멤버함수, 인스턴스함수
- 클래스가 가지고 있는 함수. 생성자 함수와 마찬가지로 첫번째 매개변수로 self를 넣어야 합니다.
파이썬 프로그래밍 언어에서는 멤버 함수, 인스턴스 함수라는 용어로 많이 사용합니다.
def 함수이름(self, 추가매개변수):
'혼자 공부하는 프로그래밍' 카테고리의 다른 글
혼자공부하는 머신러닝+딥러닝 2주차 기본 미션 (0) | 2021.02.05 |
---|---|
혼자공부하는 머신러닝+딥러닝 1주차 (0) | 2021.01.26 |
혼공 6주차 과제(BeautifulSoup 스크레이핑 실행하기) (0) | 2020.08.01 |
혼공 5주차 과제(구문 오류와 예외의 차이) (0) | 2020.08.01 |
혼공 4주차 과제(함수, 매개변수) (0) | 2020.07.30 |