Posts 클래스(1)
Post
Cancel

클래스(1)

1. 클래스(Class) 기본


1.1 Class란?

  • 변수와 함수를 묶어놓은 개념
  • 사용 방법
    • 변수와 함수가 들어있는 클래스를 선언
    • 클래스를 객체로 만들어서 클래스 안에 선언된 변수와 함수를 사용


1.2 기본 클래스의 선언과 사용

1
2
3
4
5
6
7
8
9
10
11
# 클래스 선언
class Calculator:
    num1 = 1
    num2 = 2
    
    # 클래스에서 사용하는 모든 함수의 파라미터는 처음에 self를 사용함
    def plus(self):
        return self.num1 + self.num2
    
    def minus(self):
        return self.num1 - self.num2
  • 클래스 선언
  • 클래스에서 사용하는 모든 함수의 파라미터는 처음에 self를 붙여서 사용함
  • self : 객체 자신을 뜻함


1
2
3
# 클래스의 사용 (객체로 만들기)
calc = Calculator()
calc.num1, calc.num2, calc.plus(), calc.minus()
1
(1, 2, 3, -1)


  • 클래스 사용
  • 클래스를 객체로 만들어서 사용함


1
2
3
calc2 = Calculator()
calc2.num1 = 10
calc2.plus()
1
12
  • calc2 객체의 num1 함수를 num = 1에서 num1 = 10으로 변수를 변경함


2. 객체 지향

  • 객체 지향 = 객체 = object
  • 실제 세계를 코드에 반영해서 개발하는 방법
  • 여러명의 개발자가 코드를 효율적으로 작성해서 프로젝트를 완성시키기 위한 방법
  • 실제 세계는 설계도 작성(class) -> 실제물건 (object, 객체)
  • 사용자 정의 데이터 타입 -> 내가 직접 만듬 calculator vs print


1
[data for data in dir(calc) if data[:2] != "__"]
1
['minus', 'num1', 'num2', 'plus']
  • calc 클래스가 사용 가능한 메서드 확인


3. 생성자


3.1 생성자란?

  • 클래스가 객체로 생성될때 실행되는 함수
  • 변수(재료)를 추가할때 사용
  • __init__으로 선언함


3.2 생성자 실습

1
2
3
4
5
6
7
8
9
10
11
12
13
class Calculator:

    def __init__(self, num1, num2):
        self.num1 = num1
        self.num2 = num2
        
    def plus(self):
        return self.num1 + self.num2
    
    def minus(self):
        return self.num1 - self.num2
calc1 = Calculator(1, 2)
calc1.plus(), calc1.minus()
1
(3, -1)
  • num1 = 1, num2 = 2를 사용하여 객체를 만들면 self.num1, self.num2는 1, 2로 들어감
  • 생성자 만드는 함수 객체를 만들때 num1, num2를 무조건 생성 해야함
  • 함수이기에 default parameter 사용가능 ex num2 = 10
  • *args, **kwargs 를 사용하여 생성 가능
This post is licensed under CC BY 4.0 by the author.