[파이썬 기초 개념4] 클래스 이해하기

Posted by 나눔인생 내브티
2017. 12. 6. 21:00 IT/파이썬 독학
1) 클래스

클래스는 어떠한 것을 반복적으로 만들어 낼 수있는 틀이며
클래스를 이용해 만들어진 그 무엇을 객체 라고 합니다.

위와 같이 클래스를 만들 수 있으며 
하나의 클래스를 가지고 여러개의 객체를 만들 수 있습니다.

클래스 = 잉어빵 틀
객체 = 잉어빵 = 클래스의 인스턴스



위 코드에서 보시면 클래스 X = 잉어빵 틀이며
Y = 객체, Test의 인스턴스, 잉어빵입니다.
Z 또한 객체이며 X클래스의 인스턴스입니다.

2) 객체 사용


위 사진과 같이 새로운 Y객체를 생성했다면
print(Y.var)로 객체를 사용 할 수 있다.

3) 클래스에서 변수 함수의 이해

변수 = 클래스에 소속된 변수들을 필드(field)라 한다
함수 = 클래스(객체)내에 기능을 갖을수 있도록 하는 함수이며 메소드(method)라 한다

클래스나 객체에 소속되어 있는 대상을 나타내기 위해 변수=>필드, 함수=>메소드 라 부른다

또한 필드 + 메소드 = 속성 이라 한다.

4) Self

클래스 내 메소드 <=> 일반 함수의 차이점은 바로 Self 이다

메소드의 경우 매개 변수의 목록에 항상 추가로 한개의 변수(Self) 맨 앞에 추가 되어야 한다.

self에 대입값을 전달하지 않아도 에러가 없다 
즉, 파이썬에서 알아서 전달해준다


5) init 메소드

init 메소드 객체가 생성되고 여러가지 초기화 작업을 할 때 유용하게 사용



6) 클래스 멤버와 인스턴스 멤버 이해하기

클래스 멤버 = 객체간 서로 공유 되는 변수 
인스턴스 멤버 = 객체별 갖는 고유의 변수


brand, model은 phone 클래스를 통해 생성되는 모든 객체가 공유하게된다

하지만 self.gu 는 인스턴스 멤버이다.

7)클래스 메소드 이해하기

클래스 메소드는 함수와 같은 역할을 합니다.


선언 방법으로는 반드시 첫번째 인자는 self 여야 하며 클래스로 생성된 객체 자신을 의미합니다.
set_owner 메소드에 객체와 name을 인자로 전달하며 
인스턴스멤버 owner에 입력 받은 두번째 인자 name을 저장 하고
설정된 폰 주인을 출력합니다.


위에서 보는 바와 같이 호출 방법이 다르지만 내용은 같습니다.

객체 이름을 이용한 호출이냐?, 클래스 이름을 통한 호출이냐 방법만 다를 뿐입니다.

이 댓글을 비밀 댓글로