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 항상 매개변수 첫번째 인자로 넘겨줘야 함
    • ## 2. 이제 클래스 객체로 정의 (생성) => 틀에 찍어서 하나의 붕어빵 만들기
      • 클래스 객체 이름 = 클래스이름(해당 매개변수 전달)
        • 클래스 객체 이름 . 클래스 변수  # 변수 부르기
        • 클래스 객체 이름 . 메소드 이름 ()  # 메소드 호출
        • 클래스 이름 . 메소드 이름 (클래스 객체 이름 )  # 메소드 호출의 다른 방법
          •  ex) 메소드 호출 예시
            • Seunghyun = human(180, 31) 
            • 메소드 호출 방법 1
              • Seunghyun.how_old()
            • 메소드 호출 방법 2
              • human.how_old (Seunghyun )
  • 같은 클래스의 두 객체의 경우?
    • 똑같은 값을 통해 객체 생성 -> but, object 는 생성될 때마다 새로운 메모리 공간에 값을 생성하기 때문에 -> 엄밀히 말하면 다른 값이다.
    • = 같은 붕어빵 틀에다 반죽을 넣어 2번 찍었지만 결과물인 두 붕어빵은 다른 붕어빵이다.
  • 객체에 변수 추가하기
    • 객체 이름 . 변수 이름 = 값
    • 클래스에 정의 된 변수 -> 객체 생성 -> 객체 이름 . 변수 이름 = 값 => 객체 생성할 때 매개변수로 설정 안해줘도 변수 변경 가능
  • self 에 대하여!!!
    • 클래스 -> 메소드 생성 시 사용
    • 메소드를 클래스 내부에 선언할 때 => 첫번째 매개변수 : 반드시 현재 클래스의 객체 (= self) 가 되어야 합니다.
    • 변수 선언 -> self.변수이름 
      • 만약, 메소드 내부에서 변수 선언할 때, self. 로 선언하지 않을 경우:
      • 그 변수 == 그 메소드의 지역변수가 됩니다. (한정적 사용)

 

 


* 필수 삽입 링크 : http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

<사진 2장>

 

 

 

> 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.