브렌쏭의 Veritas_Garage

[우리FISA] OOP 본문

[Project_하다]/[Project_공부]

[우리FISA] OOP

브렌쏭 2024. 7. 15. 20:31

Object Oriented Programming

  • 객체지향 프로그래밍

[Interface] 추상: 여러 사물, 개념에서 공통되는 특성이나 속성을 추출하는 것

[Extends] 상속: 부모 클래스의 속성과 메소드를 자식 클래스가 물려받는 것

[Overriding] 재정의: 부모 클래스의 메소드를 자식 클래스에서 재정의하는 것

[Overloading] 중복정의: 같은 이름의 메소드를 매개변수의 타입이나 개수를 다르게 하여 여러 개 정의하는 것

[Polymorphism] 다형성: 같은 이름의 메소드가 입력값에 따라 다르게 동작하는 것

[Encapsulation] 캡슐화: 객체의 속성과 메소드를 하나로 묶고, 외부에서 접근을 제한하는 것

[Class] 클래스: 객체를 만들기 위한 설계도

[Object] 객체: 클래스를 이용하여 만들어진 실체

[Method] 메소드: 클래스 내부에 정의된 함수

[Attribute] 속성: 클래스 내부에 정의된 변수

[Constructor] 생성자: 객체가 생성될 때 자동으로 호출되는 메소드

[Destructor] 소멸자: 객체가 소멸될 때 자동으로 호출되는 메소드

etc...

Class

  • 새롭게 사용자에 의해 정의되는 타입

내장 메소드들 또한 클래스로 구현되어 있음
Python의 함수도 클래스로 구현되어 있음

class MyClass:
    def __init__(self, value): # 생성자
        self.value = value
    def __del__(self): # 소멸자
        pass
    def method(self): # 메소드
        pass
  • 함수: 특정 class에 구애받지 않는 독립적인 기능
    • print() , len() , type() ....
  • 메소드: 특정 class에 속한 함수
    • list.append() , str.upper() , dict.keys() ....

Object (Instance)

  • 클래스로부터 생성된 실체
obj = MyClass(3)
  • 변수의 확장된 개념
  • 객체는 속성과 메소드를 가짐

객체? 인스턴스?

  • 객체: 클래스로부터 생성된 실체
  • 인스턴스: 객체가 메모리에 할당된 상태

인스턴스만 따로 부르는 경우는 거의 없음

  • 클래스와 객체의 관계성을 설명할 때 사용

'[Project_하다] > [Project_공부]' 카테고리의 다른 글

[우리FISA] Pandas method and functions  (0) 2024.07.18
[우리FISA] NumPy  (0) 2024.07.17
[우리FISA] Python Class  (0) 2024.07.16
[우리FISA] Standard Input/Output, stdio  (0) 2024.07.15
[우리FISA] Exception Handling  (0) 2024.07.15
[우리FISA] Python Modules, Library, Package  (0) 2024.07.15
[BoostCouse] NumPy  (1) 2024.07.14
Comments