일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오라클 #Oracle #DB #database #12C
- MySQL설치 # DB # 초보자 #Oracle친구
- Spring Core
- 향상된 for문
- 추상화란? # 결론은 객체들의 공통적인 개념
- window10
- SpringFramework
- Library
- 따라해보세요
- 오라클 환경 변수
- Mybatis#조건
- Java #객체 #클래스 #인스턴스
- 파이썬 모듈
- 정보통신용어 #Proxy #Proxy Server
- 정보통신용어 #Agent #
- maVen
- 파이썬 패키지
- JAVA #JDK #1.8 #JAVA 환경변수 # CLASS_PATH #시스템 변수 # 사용자 변수
- Spring Context
- Java
- 웅스주니어개발자 #MySQL # Window10 # CMD # 초보자 #환경변수
- 파이썬 예외처리
- Today
- Total
IT흔적
[파이썬] 1.클래스의 개념, 생성, 활용 본문
1. 객체, 인스턴스 구분하기입니다. 제 이름으로 작성을 했습니다.
a = SunWoong() # a는 객체 , a는 SunWoong의 인스턴스 , 객체와 인스턴스는 같은 말이고 클래스에 의해서 생성된 객체를 인스턴스라고 부른다.
# 클래스: 똑같은 무엇인가를 계속해서 만들어낼수있는 설계 도면
인스턴스: 클래스에 의해서 만들어진 피조물을 뜻함
원 클래스 -> 무한 객체
2.클래스 만들기입니다. 제가 좋아하는 리버풀 레전드 제라드를 예를 들어서 설명해봤습니다.
class liverpool:
def gerrard(self, goal, assist):
self.goal = goal
self.assist = assist
def GP(self):
result = self.goal + self.assist
print("제라드는 19시즌 %d골 %d도움 총 %d공격 포인트를 올렸다" % (self.goal, self.assist, result))
key = liverpool()
key.gerrard(20, 10)
key.GP()
출력값:
제라드는 19시즌 20골 10도움 총 30공격 포인트를 올렸다
제가 Class를 이용해서 만든 코드는 제라드 선수에 골과 도움 공격포인트 작성입니다. 한줄씩 설명을 적었습니다.
(1) class liverpool # 클래스이름을 리버풀로 작성을 했습니다.
(2) def gerrard(self, goal, assist) # 클래스 함수는 제라드 이름과 입력인수에는 self, goal, assist로 작성 * 클래스 함수는 메서드랑 같은 말
(3) def GP # 공격포인트 함수를 만들어서 공격포인트 값을 만들고 출력문을 작성
(4) key = liverpool #key라는 이름으로 liverpool() 클래스를 사용 할수 있고. key라는 이름과 도트연산자(.)를 통해서 key.gerrard 연결할수 있다.
(5) key.gerrard(20, 10) # 입력인수가 3개인데 2개만 적힌 이유는 클래스 함수 첫번째 인수는 반드시 self가 나와야한다.
self는 그저 key라는 값과 입력인수를 연결해주기 위해서 있는것이다. 그리고 gerrard 함수 값 self.goal = key. goal 이다.
3. __init__ # 인스턴스를 만들 때 항상 실행되는 값이다. 간략하게 코드를 작성 할 수 있다!!
class liverpool:
def team(self, name):
self.name = name
def gp(self, goal, assist):
self.goal = goal
self.assist = assist
print("%s는 19시즌 %d골 %d도움이다. " % (self.name, self.goal, self.assist))
key = liverpool()
key.team("살라")
key.gp(10, 20)
# 살라는 19시즌 10골 20도움이다.
class liverpool:
def __init__(self, name):
self.name = name
def gp(self, goal, assist):
self.goal = goal
self.assist = assist
print("%s는 19시즌 %d골 %d도움이다. " % (self.name, self.goal, self.assist))
key = liverpool("살라")
key.gp(10, 20)
# 살라는 19시즌 10골 20도움이다. 똑같은 값이 나온다 __init__ 함수를 사용하는 이유는 간단하다 좀더 간략하게 나타내게 위해서다.
4. 클래스의 상속
class player(liverpool):
def rank
key = player("밀너")
key.gp(5, 5)
'''살라는 19시즌 10골 20도움이다.
살라는 19시즌 10골 20도움이다.
밀너는 19시즌 5골 5도움이다. '''
# class 이름(상속받을클래스이름)
똑같이 key 값에 연결을해줘서 작성을 하면 liverpool 클래스에서 상속을 해준다.
5. 클래스의 활용 - 매서드 오버라이딩과 연산자 오버로딩 Tip: 오버라이딩은"메소드의 재정의" 오버로딩은 "메소드의 중복정의" 이다.
# 매서드 오버라이딩
class player(liverpool):
def gp(self, goal, assist, rank):
self.goal = goal
self.assist = assist
self.rank = rank
print("%s는 19시즌 %d골 %d도움이다. 리버풀은 %d위 이다. " % (self.name, self.goal, self.assist, self.rank))
key = player("밀너")
key.gp(5, 5, 4)
'''살라는 19시즌 10골 20도움이다.
살라는 19시즌 10골 20도움이다.
밀너는 19시즌 5골 5도움이다. 리버풀은 4위 이다.'''
매서드 오버라이딩은 쉽게말해서 전내용에 위 내용을 더하는 클래스의 활용 방법이다
# Python # 파이썬 # 초보개발자의 웹노트 # 리버풀 # 공부 # python 클래스 #__init__
'DO it! Python > 05.파이썬 날개 달기' 카테고리의 다른 글
[파이썬] 4.예외처리 - try, except문 (0) | 2018.12.29 |
---|---|
[파이썬]3.패키지 - 생성, __init__.py, __all__, relative (0) | 2018.12.27 |
[파이썬]2.모듈 (0) | 2018.12.23 |