패스트캠퍼스_컴공전공필수+인공지능/0원 챌린지
2/24(금) 파이썬 - 클래스2
2EV
2023. 2. 24. 16:03
2. 객체와 클래스
- 파이썬에서 class 란
- 변수와 메소드 를 정의하는 일종의 틀이다.
- 메소드 : 객체 내에 정의된 함수를 메소드라고 부른다.
- 이러한 틀을 통해 생성된 것들을 => 객체 (object) 또는 class 의 instance 라 부른다.
- 변수와 메소드 를 정의하는 일종의 틀이다.
- 석고상을 만들 때 그것을 만들기 위한 틀을 만들고 거기에 석고를 부어 잔뜩 찍어내는 것을 생각하면 된다.
- 붕어빵을 만들 때 붕어빵 틀과 거기에 반죽을 부어 붕어빵들을 잔뜩 찍어내는 것을 생각하면 된다.
- 여기서 틀 : class
- 찍어져 나온 결과들 : 객체 이다.
- 사용방법)
- ## 1. 클래스 정의 => 붕어빵 틀 만들기
- class 이름: # class 이름 정의
- def __init__(self, 매개변수, 매개변수):# class 가 처음 호출될 때 실행될 method(메소드, 함수) <init -> 초기화> <self : 맨 처음에 매개변수는 self 로 자기 객체 -> 이래야 지역변수 안되고 글로벌 변수로 호출 가능>
- self.변수 = ~~ # 이걸 class 변수라고 한다.
- self. 다른변수 = ~~
- def 클래스메소드이름(self): # 클래스 할 -> 메소드(함수) define 할 때 -> self 항상 매개변수 첫번째 인자로 넘겨줘야 함
- def __init__(self, 매개변수, 매개변수):# class 가 처음 호출될 때 실행될 method(메소드, 함수) <init -> 초기화> <self : 맨 처음에 매개변수는 self 로 자기 객체 -> 이래야 지역변수 안되고 글로벌 변수로 호출 가능>
- ## 2. 이제 클래스 객체로 정의 (생성) => 틀에 찍어서 하나의 붕어빵 만들기
- 클래스 객체 이름 = 클래스이름(해당 매개변수 전달)
- 클래스 객체 이름 . 클래스 변수 # 변수 부르기
- 클래스 객체 이름 . 메소드 이름 () # 메소드 호출
- 클래스 이름 . 메소드 이름 (클래스 객체 이름 ) # 메소드 호출의 다른 방법
- ex) 메소드 호출 예시
- Seunghyun = human(180, 31)
- 메소드 호출 방법 1
- Seunghyun.how_old()
- 메소드 호출 방법 2
- human.how_old (Seunghyun )
- ex) 메소드 호출 예시
- 클래스 객체 이름 = 클래스이름(해당 매개변수 전달)
- 같은 클래스의 두 객체의 경우?
- 똑같은 값을 통해 객체 생성 -> but, object 는 생성될 때마다 새로운 메모리 공간에 값을 생성하기 때문에 -> 엄밀히 말하면 다른 값이다.
- = 같은 붕어빵 틀에다 반죽을 넣어 2번 찍었지만 결과물인 두 붕어빵은 다른 붕어빵이다.
- 객체에 변수 추가하기
- 객체 이름 . 변수 이름 = 값
- 클래스에 정의 된 변수 -> 객체 생성 -> 객체 이름 . 변수 이름 = 값 => 객체 생성할 때 매개변수로 설정 안해줘도 변수 변경 가능
- self 에 대하여!!!
- 클래스 -> 메소드 생성 시 사용
- 메소드를 클래스 내부에 선언할 때 => 첫번째 매개변수 : 반드시 현재 클래스의 객체 (= self) 가 되어야 합니다.
- 변수 선언 -> self.변수이름
- 만약, 메소드 내부에서 변수 선언할 때, self. 로 선언하지 않을 경우:
- 그 변수 == 그 메소드의 지역변수가 됩니다. (한정적 사용)
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
<사진 2장>
> 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.