※ 강의를 듣고 제가 이해한 내용을 바탕으로 정리 한 것이라서 오류가 있을 수 있습니다.

 

0. 클래스를 사용하는 이유

클래스와 인스턴스를 이용하면 코드를 사람이 이해하기 쉽게 포장할 수 있다.

클래스를 사용하는 이유는 현실의 개념을 더 쉽게 코드에서 표현하기 위해서이다.

 

1. 개념

1)클래스

함수를 모아 놓은 집합체

 

2)인스턴스

클래스에 의해 생성된 객체

인스턴스는 각자 자신의 값을 가지고 있다.

 

3) 메소드

메소드는 함수와 비슷하다.

클래스에 묶여서 클래스의 인스턴스와 관계되는 일을 하는 함수

 

 

2. 예시

선언 방법: class 클래스명:

                  함수

                  함수.....

self

  • 메소드의 첫번째 인자

  • 인스턴스의 매개변수를 전달 할 때는 self 매개변수는 생략하고 전달

 

__init___(self) 함수: 클래스를 최초 초기화 할때 호출되는 함수이고 기본적으로 클래스 안에서  구현 해줘야 한다.

 

# UserInfo1 클래스 생성
class UserInfo1:
    def __init__(self, name):
        self.name = name
   
# 인스턴스 생성 및 출력
user1 = UserInfo1("Kim") # UserInfo1 클래스의 인스턴스가 user1에 생긴다.
print(user1.name)

user2 = UserInfo1("park") # UserInfo1 클래스의 인스턴스가 user1에 생긴다.
print(user2.name)

위 코드는 UserInfo1이라는 클래스를 만들고 user1과 user2변수에 인스턴스를 만들고 매개변수로 각각 kim과 park을 전달해준 코드이다.

print(id(user1))# 네임스페이스 증명하기 위한 메모리 주소값 출력
print(id(user2))

print(user1.__dict__) # 네임스페이스 출력
print(user2.__dict__) # 인스턴스화 된 변수들은 네임스페이스라는 독립적인 창고를 이용해서 그 안에 name을 저장하고 있다.

이 코드는 user1과 user2에 각각 독립적인 네임스페이스가 있다는 것을 증명하기 위한 코드로써 각자 자신의 주소값과

딕셔너리 형태로 kim,park이 저장된 것을 확인 할 수 있다.

(결과는 맨위 vs code 캡처 맨 아래 결과 참고)

'개발 공부한 내용 정리 > python' 카테고리의 다른 글

python- 파일 읽기, 쓰기  (0) 2020.07.20
python- 모듈과 패키지  (0) 2020.07.19
python- 함수  (0) 2020.07.12
python 흐름제어- 반복문  (0) 2020.07.08
python 흐름제어- 조건문  (0) 2020.07.07

+ Recent posts