Development(7985)
-
정적 메서드(static method)
정적 메서드(static method) · 인스턴스 객체와 무관하게 클래스 이름 공간에 존재하는 메소드로서 클래스 이름을 이용하여 직접 호출할 수 있는 메소드입니다. · 인스턴스 객체를 참조하는 self 인자가 필요하지 않습니다. · 인스턴스 메서드가 객체의 인스턴스 필드를 self를 통해 엑세스할 수 있는 반면, 정적 메서드는 이러한 self 파라미터를 갖지 않고 인스턴스 변수에 엑세스할 수 없습니다. 따라서, 정적 메서드는 보통 객체 필드와 독립적이지만 로직상 클래스내에 포함되는 메서드에 사용됩니다. · 정적 메소드는 해당 클래스의 인스턴스를 통해서도 호출 가능하지만 권장하지 않습니다. · 정적 메서드는 메서드 앞에 @staticmethod 라는 장식자(Decorator)를 표시하여 해당 메서드가 정..
-
파이썬에서 다형성
다형성(Polymorphism) · 상속 관계 내의 다른 클래스들의 인스턴스들이 같은 멤버 함수 호출에 대해 각각 다르게 반응하도록 하는 기능입니다. · 연산자 오버로딩도 다형성을 지원하는 중요한 기술입니다. 다형성의 장점 · 적은 코딩으로 다양한 객체들에게 유사한 작업을 수행시킬 수 있습니다. · 프로그램 작성 코드 량이 줄어듭니다↓. · 코드의 가독성을 높혀줍니다↑. 파이썬에서 다형성의 장점 · 자료형 선언이 없다는 점에서 파이썬에서는 다형성을 적용하기가 더욱 용이합니다. · 실시간으로 객체의 형이 결정되므로 단 하나의 메소드에 의해 처리될 수 있는 객체의 종류에 제한이 없습니다. 즉, 다른 언어보다 코드의 양이 줄어들게 됩니다.
-
메서드(Method)
메서드(Method) 클래스안에 있는 멤버함수를 지칭합니다. 클래스 내부에 메소드 선언 · def 키워드 사용하여 메소드를 선언합니다. · 일반 함수와 다른 점은 첫번째 인수로 self를 사용합니다. (self라는 이름은 관례적으로 사용되고 있습니다.) · self는 인스턴스 객체 자신의 레퍼런스를 지니고 있습니다. 각 인스턴스들은 self를 이용하여 자신의 이름 공간에 접근할 수 있습니다. 구분 설명 Unbound method call · 클래스 객체를 이용한 메소드 호출 · 예: MyClass.set(c, 'egg') Bound method call · 인스턴스 객체를 통한 메소드 호출 (self 인자는 호출받은 객체가 자동으로 할당되어집니다.) · 예: mc.set('egg')
-
인스턴스 메서드(instance method)
인스턴스 메서드(instance method) · 일반 함수와 다른 점은 첫번째 인수로 self를 사용합니다. · self는 인스턴스 객체 자신의 레퍼런스를 지니고 있습니다. 각 인스턴스들은 self를 이용하여 자신의 이름 공간에 접근합니다. · 가장 흔히 쓰이는 인스턴스 메서드는 인스턴스 변수에 엑세스할 수 있도록 메서드의 첫번째 파라미터에 항상 객체 자신을 의미하는 "self"라는 파라미터를 갖습니다. · 인스턴스 메서드는 여러 파라미터를 가질 수 있지만, 첫번째 파라미터는 항상 self 를 갖습니다. · 인스턴스 메서드는 "객체변수.메서드명()"과 같이 호출할 수 있습니다.
-
Generator function(제네레이터 함수)
Generator function(제네레이터 함수) · Generator는 Iterator의 특수한 한 형태입니다. · 함수 안에 return 대신 yield구문을 이용해 함수 객체를 유지한 채 값을 호출자에 넘겨줍니다. yield 를 사용하여 데이터를 하나씩 리턴하는 함수입니다 · 값을 넘겨준 후 함수 객체는 그대로 유지되며 함수의 상태를 그대로 유지하고 다시 호출 할 수 있기 때문에 순회가능한 객체를 만들 때 매우 유용합니다. · Generator 함수가 처음 호출되면, 그 함수 실행 중 처음으로 만나는 yield 구문에서 값을 리턴합니다. · Generator 함수가 다시 호출되면, 직전에 실행되었던 yield 문 다음부터 다음 yield 문을 만날 때까지 문장들을 실행하게 됩니다. · 이러한 Ge..
-
시퀀스/매핑 자료형의 연산자 중복
시퀀스/매핑 자료형의 연산자 중복 · 클래스를 개발할 때 자신만의 시퀀스 자료형을 만들 때 사용할 수 있는 메소드들입니다. · 시퀀스 자료형 및 매핑 자료형을 위해 구현이 필요한 메소드입니다.