일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 청년 Ai Big Data 아카데미
- 핸즈온 머신러닝
- codeup 1020 java
- 프로그래머스 가운데 글자 가져오기 파이썬
- 코드업 1020 자바
- 나누어 떨어지는 숫자 배열 python
- codeup 1020 자바
- 빅분기실기
- 가운데 글자 가져오기 자바
- 최소 스패닝 트리 자바
- 프로그래머스 가운데 글자 가져오기 python
- 나누어 떨어지는 숫자 배열 java
- 프로그래머스 가운데 글자 가져오기 자바
- docker 완전 삭제
- 트리의 지름 자바
- 최단 경로 알고리즘
- m1 docker install
- 프로그래머스 나누어 떨어지는 숫자 배열 자바
- 빅데이터분석기사
- 가운데 글자 가져오기 python
- 트리의 지름 java
- 코드업 1020 java
- 프로그래머스 나누어 떨어지는 숫자 배열 파이썬
- docker remove
- 청년 AI Big Data 아카데미 13기
- 가운데 글자 가져오기 파이썬
- docker 삭제
- 최소 스패닝 트리
- 가운데 글자 가져오기 java
- m1 docker
- Today
- Total
NineTwo meet you
[파이썬기초] 클래스 본문
클래스 = 속성 + 메서드
클래스란 객체를 찍어내기 위한 틀이라고 생각하면 된다.
객체를 붕어빵이라고 생각하면 붕어빵 틀이 클래스가 되는 것이다.
어떤 붕어빵을 먹었다고 다른 붕어빵이 손상되지 않는 것처럼 객체는 서로 독립적이다.
클래스가 인간이라면
속성 : 눈, 코, 입, 팔, 다리, ...
메서드 : 걷기, 뛰기, 자기, 춤추기,...
객체 & 인스턴스
클래스의 타입으로 선언된 경우 객체라고 부른다. 객체는 실체에 초점을 맞춘다.
그 객체가 메모리에 할당되어 실제 사용될 때 인 스터 스라 부른다. 인스턴스는 관계에 초점을 맞춘다.
a는 객체다.
a는 Test의 인스턴스다.
class Test:
pass
a = Test()
#아무것도 안 하는 클래스 생성
class 클래스명:
Pass
class 클래스명:
#속성
변수명 = 값
...
#메서드
def 함수명(self, 매개변수):
수행할 문장 1
...
...
클래스의 함수를 불러올 때
1. 객체명.함수명(매개변수)
2. 클래스명.함수명(객체명, 매개변수)
파이썬의 메서드의 첫 번째 매개변수는 self가 명시적으로 구현되어있다.
이를 다른 이름으로 해도 상관없지만 객체 호출 시 호출한 객체 자신이 전달되기 때문에 self를 가진다.
생성자 constructor
객체가 생성될 때 자동으로 호출되는 메서드를 의미한다.
파이썬 메서드 이름으로 __init__을 사용하면 이 메서드가 생성자가 된다.
앞뒤로 붙은 __는 _를 2번씩 쓴 것이다.
객체를 생성하면서 변수를 넣고 싶을 때 보통 사용한다.
소멸자 destructor
생성자와 마찬가지로 객체가 소멸할 때 호출되는 소멸자가 존재한다.
__del__이란 이름을 사용하면 소멸자가 되며 보통 리소스 해체 등의 종료 작업을 위해 사용된다.
생성자와 마찬가지로 앞뒤로 붙은 __는 _를 2번씩 쓴 것이다.
클래스의 특징
상속
상속이란 부모가 자식에게 재산을 상속하듯이 부모 클래스의 모든 속성 (데이터, 메서드)를 자식 클래스에게 물려주는 것이다.
클래스의 공통된 부분을 부모 클래스에 작성하면 클래스마다 동일한 코드가 작성되는 것을 방지할 수 있다.
또한 이렇게 된다면 공통된 속성의 유지보수가 간단해진다.
class 부모 클래스 이름:
변수명 = 값
...
def 함수명(self, 매개변수):
수행할 문장
...
...
class 자식 클래스 이름(부모 클래스 이름):
...
매소드 오버 라이딩
매소드 오버 라이딩이란 자식이 부모와 같은 이름의 메서드를 재정의해서 사용하는 것이다.
자식은 부모와 다른 새로운 특성을 가지듯이 자식 클래스의 경우도 특화된 메서드와 데이터를 정의할 수 있다.
부모는 자식의 요소를 사용할 수 없다.
객체 변수
객체마다 다르게 돌아가는 변수
클래스 변수
클래스마다 돌아가는 변수
'프로그래밍언어 > 파이썬' 카테고리의 다른 글
[파이썬기초] 예외처리 (0) | 2020.09.25 |
---|---|
[파이썬기초] 모듈 (0) | 2020.09.24 |
[파이썬기초] 파일 입출력 (0) | 2020.09.23 |
[파이썬기초] 사용자 입력과 출력 (0) | 2020.09.23 |
[파이썬기초] 함수 (0) | 2020.09.23 |