IT 공부/python

2020-10-09 Python 과 Ruby 클래스 맴버 / 클래스 변수 (2)

JONGI-N CHOI 2020. 10. 9. 17:34

Ruby 의 클래스 맴버와 클래스 변수 사용법

class Cs
  @@count = 0
  def initialize()
    @@count = @@count + 1
  end

  def Cs.getCount()
    return @@count
  end
end
i1 = Cs.new()
i2 = Cs.new()
i3 = Cs.new()
i4 = Cs.new()

p Cs.getCount()

Cs라는 클래스에서 몇 개의 인스턴스가 만들어졌는지를 볼 수 있는 함수 getCount()를 만들기 위해서

 

클래스 맴버와 클래스 변수가 사용된다. 

 

 

클래스 변수 지정 및 초기화 방법

ruby에서 클래스 변수를 지정할 때에는 => @@변수명 

 

 

클래스 변수를 초기화 시켜줄 때에는 클래스 안쪽과 method의 밖 사이에 적어주면된다. 

 

 

클래스 맴버(method) 생성 방법

def Cs.getCount()

클래스 맴버를 지정할 때에는 method를 지정할 때  method 명 앞에 클래스명. 을 붙히면 된다.

 

클래스 맴버 사용법 

p Cs.getCount()

클래스명.맴버명() 으로 불러오면 된다.

 

Python에서 클래스 맴버와 클래스 변수 사용법

class Cs:
    count = 0
    def __init__(self):
        Cs.count = Cs.count + 1

    @classmethod
    def getCount(cls):
        return Cs.count

i1 = Cs()
i2 = Cs()
i3 = Cs()
i4 = Cs()
print(Cs.getCount())
 

Cs라는 클래스에서 몇 개의 인스턴스가 만들어졌는지를 볼 수 있는 함수 getCount()를 만들기 위해서

 

클래스 맴버와 클래스 변수가 사용된다.

 

클래스 변수 지정 및 초기화 방법

python에서 클래스 변수를 지정할 때에는 => Classs명 . 변수명

 

클래스 변수를 초기화 시켜줄 때에는 클래스 안쪽과 method의 밖 사이에 적어주면된다.  

 

단, 초기화할 때에는 클레스명. 을 뺀 변수명만 적는다.

클래스 맴버(method) 생성 방법

@staticmethod #장식자
    def static_method():
        print("Static method")
    @classmethod
    def class_method(cls):
        print("Class method")

python 에서는 클래스 맴버의 종류가 staticmethod , classmethod로 2가지가 있다.

 

변수를 생성하는 건 기존 인스턴스 method 와 다름없지만 위에다가 @staticmethod or @classmethodr인 장식자라는 것을 붙혀줘야한다.

클래스 맴버 사용법 

Cs.class_method()

사용 법은 Ruby와 동일  클래스명. 변수명()