-
Python2 04일차 수업 정리_03일차 복습, 클래스/객체, 생성자, 클래스 변수와 인스턴스 변수, 인스턴스/클래스/정적 메소드Python 2024. 2. 14. 13:24
- 03일차 복습
- 클래스와 객체 그리고 생성자
- 클래스변수와 인스턴스 변수
- 인스턴스 메소드, 클래스 메소드, 정적 메소드
- 03일차 복습
3일치가 비는 이유는 그동안 배웠던거 리뷰해서 그냥 안씀!
클래스 : 똑같은 무엇인가를 계속 만들어 낼 수 있는 설계도면
(like 붕어빵틀)
클래스 기본 개념 정리클래스 여러 변수와 함수(메소드)를 묶어서 처리할 수 있는 것
(보따리 같은 너낌)속성 데이터 속성(값, 변수) + 메소드(기능, 처리)
- 클래스와 객체 그리고 생성자
클래스와 객체 객체는 클래스에 의해서 만들어진 결과물 (팥붕, 슈붕) - 객체는 지정한 속성값에 따라 고유한 특징을 갖게 됨
- 객체의 데이터 속성은 변수로 구현, 행위는 함수(메소드)로 구형
- 객체를 만들기 위해서 클래스가 반드시 선언되어야 함 (팥붕 슈붕을 붕어빵 틀 없인 못만들엉)
- 클래스를 통해서 객체를 만들고 활용할 수 있는 프로그래밍 언어를 객체 지향 프로그래밍 언어라 함
클래스를 사용하는 정확한 이유 :하나의 클래스를 통해 여러개의 객체를 생성하므로 코드의 반복을 줄일 수 있다.
메소드를 하나만 변경하더라도 객체 하나하나의 메소드를 일일이 바꿔줄 필요 없이 클래스 하나만 변경 함으로써 모든 객체에 영향을 줄 수 있다.
생성자 : 객체가 작성될 때 처음에 반드시 처리되는 메소드
클래스를 통해서 객체를 생성하는 순간 호출되는 특별한 메소드 (초기화 생성자를 입력하지 않으면 안보인 상태로 호출)
__init__(initalize) 처음에 초기화를 시켜준다는 의미 (파이썬에만 있데)사용 방법 :
def __init__(self, 매개변수1, 매개변수2,..) :
self.데이터 속성명1 = 매개변수1
...
- 클래스변수와 인스턴스 변수
클래스 변수 모든 객체(인스턴스)가 동일한 값을 사용할 때, 모든 객체(인스턴스)들이 공유할 수 있는 변수 클래스명.클래스변수명 인스턴스 변수 self 키워드를 붙여 사용하는 변수를 말한다. 객체명.인스턴스변수명 (이렇게 접근함) - 인스턴스 변수는 self를 사용하고 클래스 변수는 self를 사용하지 않는다
- 인스턴스 변수는 객체를 통해서만 접근 가능하고 클래스 변수는 객체, 클래스명으로 접근가능
- 클래스에 인스턴스 변수를 사용하려고 하면 오류가 발생
- 인스턴스 메소드, 클래스 메소드, 정적 메소드
인스턴스 메소드 인스턴스 변수를 사용하는 메소드를 의미
첫번째 매개변수에 self를 받아온다. self를 통해 인스턴스 변수에 접근 가능하다. (바구니 느낌)- 생성된 객체를 통해서만 호출 가능 : 객체명. 인스턴스 메소드 클래스 메소드 클래스변수를 사용하는 메소드를 의미
self X 인스턴스 변수 접근 X, cls를 통해 클래스 변수에 접근 가능- 인스턴스나 클래스로 호출 가능
- 생성된 객체(인스턴스)가 없어도 호출 가능
- @classmethod 데코레이터를 표시하고 작성
- 첫번째 매개변수에 cls를 사용정적 메소드 self를 사용하지 않기 때문에 인스턴스 변수 사용 불가
인스턴스(객체)를 생성하지 않아도 사용 O 한 점이 클래스 메소드와 유사 (단, cls 사용 X)
인스턴스 변수, 클래스 변수를 모두 사용 X 한 경우 적절- 인스턴스 또는 클래스를 통해 호출
- 생성된 인스턴스가 없어도 호출 가능
- @staticmethod 데코레이터를 표시하고 작성
- 반드시 작성해야할 매개변수가 없음2024.02.14
'Python' 카테고리의 다른 글
Python2 06일차 수업 정리_예외처리, 강제 예외, 자료구조와 알고리즘, 자료구조 (1) 2024.02.16 Python2 05일차 수업 정리_04일차 복습, 상속, 자식클래스, 상속 관계 구현, 자식클래스의 __init__(), 다형성 오버라이딩/예외처리 (0) 2024.02.15 Python 10일차 수업 정리_모듈, 지역/전역변수, 클래스, 생성자(Constructor) (1) 2024.02.06 Python 09일차 수업 정리_컬렉션의 메소드(세트set, 딕셔너리dict), 함수(내장함수, 문자열 내장함수) (1) 2024.02.06 Python 08일차 수업 정리_컬렉션의 메소드(세트set, 딕셔너리dict), 함수(내장함수, 문자열 내장함수) (1) 2024.02.04