728x90
클래스는 똑같은 무언가를 계속해서 만들어낼 수 있는 설계도, 도면, 틀과 같습니다. 객체는 클래스에 의해 만들어진 것, 즉 물건, 실체 같은 것을 말합니다. 클래스에 의해 만들어진 객체를 인스턴스라고도 말하는데, 인스턴스란 어떤 클래스의 객체인지, 관계를 설명할 때 사용됩니다.
- sm5설계도는 클래스, sm5는 객체입니다.
- 63빌딩 도면은 클래스, 63빌딩은 객체입니다. 또한 클래스에 의해 만들어진 객체는 독립적입니다.
- sm5는 객체입니다. sm5는 sm5설계도의 인스턴스입니다.라고 표현 가능합니다.
클래스
클래스에서 객체의 데이터를 정하는 것을 속성이라고 하며, 객체가 해야 할 일(함수)을 정하는 것을 메소드라고 합니다. 예를 들어 자동차의 무게, 바퀴수 등등 이런 거를 속성이라고 하면, 시동걸기, 클락션 울리기 등을 메소드라고 합니다. 클래스 또한 콜론":"과 들여쓰기를 잘해야 하며, self, 생성자, 초기화에 대한 개념을 정확히 알아야 합니다. 클래스를 사용할 때는 class 이름(): 이렇게 사용 가능하며, 이름 첫 글자는 대문자로 사용해야 합니다."class Star():"
class Myname:
def abc(self, name1, name2): ###self=자기자신,name=매개변수1,namename=매개변수2
self.name3=name1 ###1.객체의데이터(속성)을 name1이라고 설정/밑에설명과 같은뜻
self.name4=name2 ###2.인수값을 매개변수2에 저장 /위 설명과 같은뜻
def print_name(self):
print("이름 {0}, {1} 두개가 있습니다".format(self.name3,self.name4))
a=Myname() ###객체생성
a.abc("티스토리","네이버") ###인자값
a.print_name() ###출력
이름 티스토리, 네이버 두개가 있습니다
__init__ 사용으로 객체를 처음만들때부터 객체속성값을 정할 수 있습니다. 이를 초기화라고 말합니다.
class Myname:
def __init__(self, name1, name2):
self.name3=name1
self.name4=name2
def print_name(self):
print("이름 {0}, {1} 두개가 있습니다".format(self.name3,self.name4))
a=Myname("티스토리","네이버") ###처음 객체를 생성할때부터 값을넣어줍니다.
a.print_name() ###출력
이름 티스토리, 네이버 두개가 있습니다
클래스 상속
클래스를 만들 때 다른 클래스의 기능을 이어받을 수 있는데, 이때 class 이름(): ()안에 이어받을 클래스 이름을 넣으면 됩니다 (상속받을 클래스가 없다면()생략가능합니다.) 또한 이어받은 클래스를 새롭게 작성해서 사용할 수도 있습니다. 이를 매소드 오버라이딩이라고 합니다.
### 클래스상속
class all: ###클래스만듬
def __init__(self, name): ### 초기화사용
self.name=name
class next(all): ### 클래스all 속성과 데이터를 이어받음
pass ###아무기능없음
a=next("티스토리") ### next클래스로 a객체를만듬, 값입력
print(a.name) ### name을출력
티스토리
### 메소드 오버라이딩
class Myname: ### 클래스생성,상속받을 클래스없어서()생략
def __init__(self, name1, name2):
self.name3=name1
self.name4=name2
def print_name(self):
print("이름 {0}, {1} 두개가 있습니다".format(self.name3,self.name4))
class Youname(Myname): ### Youname클래스생성, Myname클래스 상속받을거라서()사용함
def print_name(self):
print("너의 이름은 {0}, {1}".format(self.name3,self.name4))
a=Myname("티스토리","네이버") ### a라는 객체생성과 값입력
b=Youname("다음","네이버") ### b라는 객체생성과 값입력
이름 티스토리, 네이버 두개가 있습니다 ### a출력물
너의 이름은 다음, 네이버 ### b출력물, Myname을 이어받아서 바꾸고싶은 부분만 다시작성
728x90
'파이썬' 카테고리의 다른 글
파이썬 공부하기 기초부터 시작 (파일 읽고 쓰기) (0) | 2022.07.09 |
---|---|
파이썬 공부하기 기초부터 시작 (모듈과 패키지) (0) | 2022.07.08 |
파이썬 공부하기 기초부터 시작 (함수) (0) | 2022.07.06 |
파이썬 기초공부 print() 사용방법 (0) | 2022.07.05 |
파이썬 공부하기 기초부터 시작 (제어문,반복문) (0) | 2022.07.04 |
댓글