Programming

; develop a program

반응형

메소드 11

[Python] 클래스(class) 메소드와 정적(static) 메소드

이번 포스팅에서는 파이썬의 클래스(class) 메소드와 정적(static) 메소드에 대하여 공부를 해보고자 한다. 클래스(class) 메소드 클래스 메소드는 객체가 아닌 클래스 자체의 메소드를 말한다. 객체별로 생성되는 것이 아니라 한 클래스에 속하게 된다. 클래스 변수와 관련된 기능을 제공하는 메소드를 만들 때 사용한다. 클래스 메소드 구현 메소드 선언부에 @classmethod 데코레이터를 붙인다. 반드시 한 개 이상의 매개변수를 선언해야 한다. 클래스 변수 클래스 변수는 객체가 아닌 클래스 자체의 변수를 말한다. 클래스 블록에 선언한다. 클래스 변수 호출 Class이름. 변수명 클래스 메서드와 변수는 클래스 이름과 객체를 이용하여 호출할 수 있다. 예제 순서 1. 클래스를 정의한다. 순서 2. 클래..

Back-End/Python 2022.09.29

[Python] 주요 특수 메소드 – 비교 연산자 관련 표현

이번 포스팅에서는 파이썬의 특수 메소드 중 비교 연산자 관련 표현 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __eq__ 메소드 ' == '로 객체의 내용을 비교할 때 정의해야 한다. __eq__(self, other) : → self == other __lt__ / __gt__ 메소드 __lt__(self, other) : → self other max( )에서 인수로 사용할 경우 정의해야 한다. 그 외 비교 연산자 관련 메소드 __ge__(self, other): → self >= other __le__(self, other): → self other가 Person 타입인지 확인) def __eq__(self, other): result = False if isinstance(other, P..

Back-End/Python 2022.09.28

[Python] 주요 특수 메소드 – 문자열 표현

이번 포스팅에서는 파이썬의 특수 메소드 중 문자열 표현 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __repr__ 메소드 인스턴스(instance)를 문자열로 바꿀 때 사용할 문자열 값을 만들어 반환한다 __repr__(self) 내장 함수 repr( )에 전달되면 반환될 문자열로 다시 eval( )에 전달하면 원래 Instance로 변환될 수 있는 문자열로 반환한다. 대화형 IDE에서 변수를 값을 출력할 때 호출하는 메소드 더보기 eval(문자열 표현식) 함수는 문자열의 표현식을 평가해서 실행한다. __str__ 메소드 __repr( )__ 과 비슷하게 인스턴스(instance)를 문자열로 바꿀 때 사용할 문자열 값을 반환(return)한다. __str__(self) 내장 함수 str( ) 나..

Back-End/Python 2022.09.28

[Python] 주요 특수 메소드 – 객체 생성/소멸

이번 포스팅에서는 파이썬의 특수 메소드 중 객체 생성/소멸 시 사용하는 메소드에 대하여 공부를 해보고자 한다. __init__ 메소드 생성자 (Initializer)로 객체를 생성할 때 호출된다. __init__(self [, …]) self는 새롭게 생성되는 instance가 전달된다. 객체 생성 시 가져야 하는 기본 인스턴스(default instance) 변수를 정의할 때 사용한다. __del__ 메소드 소멸자 (finalizer)로 객체가 소멸되기 직전에 호출된다. __del__(self) 객체는 참조 카운트가 0일 때 Garbage collection에 의해 소멸된다. 인터프리터 종료 시 아직 남아있는 객체들의 소멸자 메소드 호출은 보장되지 않는다. __call__ 메소드 객체를 함수처럼 호출할..

Back-End/Python 2022.09.28

[Python] 특수 메소드

이번 포스팅에서는 파이썬의 특수 메소드 중 객체와 관련되어 있는 메소드에 대하여 공부를 해보고자 한다. 특수 메소드 특수 메소드란 클래스에 정의하는 약속된 메소드로 객체가 특정한 상황에서 사용될 때 자동으로 호출되는 메소드들이다. 메소드 명이 더블 언더스코어(__)로 시작하고 끝난다. ex) __init__( ), n__str( )__ 매직 메소드(Magic Method), 던더(DUNDER) 메소드라고도 한다. 객체 관련 특수 메소드 isinstance(객체, 클래스 이름) 객체가 두 번째 매개변수로 지정한 클래스의 타입이면 True, 아니면 False 반환하는 메소드 객체.__dict__ 객체가 가지고 있는 instance 변수들과 대입된 값을 dictionary에 넣어 반환하는 메소드 객체.__cl..

Back-End/Python 2022.09.28

[Python] super 함수

이번 포스팅에서는 파이썬의 super 내장 함수에 대하여 공부를 해보고자 한다. 아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다. 2022.09.27 - [Python/파이썬 기초] - [Python] 상속(Inheritance) [Python] 상속(Inheritance) 이번 포스팅에서는 파이썬의 상속(Inheritance)에 대하여 공부를 해보고자 한다. 상속(Inheritance) 상속은 기존 클래스를 확장하여 instance 변수나 메소드를 추가하는 방식을 말한다. 이미 존재하는 클 c11oud.tistory.com super 함수 super 함수는 자식 클래스(child class)에서 부모 클래스(parent class)의 인스턴스(instance)를 반환(return) 해주는 함수..

Back-End/Python 2022.09.27

[Python] 메소드 재정의 (Method Overriding)

이번 포스팅에서는 파이썬의 메소드 재정의 (Method Overriding)에 대하여 공부를 해보고자 한다. 아래의 글을 먼저 보고 오면 이해하는데 도움이 될 것이다. 2022.09.27 - [Python/파이썬 기초] - [Python] 상속(Inheritance) [Python] 상속(Inheritance) 이번 포스팅에서는 파이썬의 상속(Inheritance)에 대하여 공부를 해보고자 한다. 상속(Inheritance) 상속은 기존 클래스를 확장하여 instance 변수나 메소드를 추가하는 방식을 말한다. 이미 존재하는 클 c11oud.tistory.com 메소드 재정의 (Method Overriding) 메소드 오버라이딩은 부모 클래스(parent class)의 메소드의 구현부를 자식 클래스(ch..

Back-End/Python 2022.09.27

[Python] 상속(Inheritance)

이번 포스팅에서는 파이썬의 상속(Inheritance)에 대하여 공부를 해보고자 한다. 상속(Inheritance) 상속은 기존 클래스를 확장하여 instance 변수나 메소드를 추가하는 방식을 말한다. 이미 존재하는 클래스의 모든 특징을 물려받는 새로운 클래스를 손쉽게 생성할 수 있다. 기존 클래스를 직접 수정하지 않고, 기능을 추가하거나 변경하고 싶을 때 유용하게 사용할 수 있다. 이미 존재하던 클래스를 부모 클래스(parent class) 또는 기초 클래스(base class), 상위(Super) 클래스라고 부른다. 물려주는 클래스이고 좀 더 추상적이다. 상속을 통해 새롭게 생성되는 클래스를 자식 클래스(child class) 또는 파생 클래스(derived class), 하위(Sub) 클래스라고 ..

Back-End/Python 2022.09.27

[Python] 정보 은닉(Information Hiding)

이번 포스팅에서는 파이썬의 정보은닉(Information Hiding)에 대하여 공부를 해보고자 한다. 정보 은닉(Information Hiding) 정보 은닉은 객체가 가진 instance 변수나 메소드를 다른 곳에서 호출하지 못하도록 하는 것을 말한다. 데이터 보호가 주목적이며, instance 변수의 값을 직접 변경하지 못하게 하고 메소드를 통해 변경, 조회하도록 만든다. C++, Java 등은 접근 제한자를 이용해 처리하는데 파이썬은 접근 제한자가 없다. 그래서 파이썬은 원칙적으로 접근 제한을 막는 방법이 없다. 정보 은닉 처리 방법 instance 변수 이름을 __ (double underscore)로 시작하고 __ 는 앞에만 붙인다. (뒤에 붙이면 안 됨) ex) self.__name = na..

Back-End/Python 2022.09.27

[Python] 객체지향 프로그래밍(OOP)

이번 포스팅에서는 파이썬의 객체지향 프로그래밍(OOP)에 대하여 공부를 해보고자 한다. 객체지향 프로그래밍(OOP) 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 말 그대로 객체를 사용하여 데이터를 표현하는 프로그래밍 기법을 말한다. 각각의 객체들은 메시지를 주고받거나 데이터를 처리할 수 있다. 객체지향 프로그래밍의 구성요소는 기본적으로 클래스, 객체, 메소드 3가지가 있다. 객체(Object)란 연관성 있는 데이터와 함수(메소드)들을 묶어서 가지고 있는 프로그램 모듈이다. 속성(Attribute)은 객체의 데이터 및 상태를 말한다. 메소드(Method)는 객체가 제공하는 기능을 말하고, 주로 객체가 가지고 있는 속성을 처리하는 기능을 제공한다. 객체는 속성(변수) ..

Back-End/Python 2022.09.26
반응형