일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래밍
- Level1
- sql
- Medium
- typescript
- CS
- VUE
- python
- react
- 리트코드
- 웹프로그래밍
- Level2
- 자바스크립트
- 리액트
- 코테연습
- javascript
- 프로그래머스
- 동적계획법
- OS
- web
- C++
- 백준
- 고득점Kit
- LeetCode
- dp
- 배열
- Doitvue.js입문
- 파이썬
- 카카오
- Level3
- Today
- Total
[python] 파이썬 클래스 본문
클래스란 똑같은 무엇인가를 계속해서 만들어낼 수 있는 설계 도면 같은 것이고 객체란 클래스에 의해서 만들어진 피조물을 뜻한다. 클래스에 의해서 만들어진 객체는 객체별로 독립적인 성격을 가진다.
* 인스턴스
Table 이라는 클래스가 있고
a = Table()로 a라는 객체를 생성했을 때
a를 Table의 인스턴스라고 한다.
* 메서드
class안에 정의된 함수를 class의 메서드라고 한다.
class Test:
def setdata(self,first,second):
self.first = first
self.second = second
a = Test()
이때 실제 입력해줘야하는 매개변수는 2개 뿐이다.
객체 호출시 첫번째 매개변수에는 자동적으로 그 객체가 전달되기 때문이다.
자바 클래스와 차이를 보이는 부분이 바로 이것이다.
파이썬 클래스의 메서드의 첫번째 매개변수는 관례적으로 self라는 이름을 사용한다.
*생성자
객체에 초기값을 설정해야 할 필요가 있을때 안전을 위해 사용한다. 객체가 생성될 때 자동으로 호출되는 메서드 이다.
__init__으로 메서드 명을 사용한다. (주의 _ 가 아니라 __임 2개임 2개)
class Test:
def __init__(self,first,second):
self.first = first
self.second = second
*상속
어떤 클래스를 만들 때 다른 클래스의 기능을 물려 받을 수 있게 만드는 것이다.
class Test:
pass
class Test2(Test):
pass
Test2는 Test를 상속 받았으므로 Test의 모든 기능을 사용할 수 있다.
* 메서드 오버라이딩
부모 클래스를 상속받은 자식 클래스에 부모 클래스에 존재하는 메서드와 동일한 이름으로 메서드를 작성하면 오버라이딩 되어 새롭게 작성한 메서드가 호출된다.
*클래스 변수
클래스 안에 가지고 있는 변수. 클래스 변수를 수정하면 객체들의 변수도 같이 수정된다.
class Test :
name= "김"
a = Test()
b = Test()
print(a.name)
>> "김"
print(b.name)
>> "김"
Test.name= "박"
print(a.name)
>> "박"
print(b.name)
>> "박"
'Python' 카테고리의 다른 글
[python] 파이썬 string 입력 (0) | 2020.03.23 |
---|---|
[python] format (0) | 2020.03.23 |
[python] 시침 움직인 각도로 분침 움직인 각도 구하는 프로그램 (0) | 2019.04.06 |
[python] 파이썬 슬라이싱 (python slicing) (0) | 2019.04.03 |
[python] 파이썬 내장 함수 -map (0) | 2019.03.27 |