프로그래밍/Python

[Python] 패키지(Package), 모듈(Module), 클래스(Class), 메서드(Method)

니니는 진짜 전설이다 2024. 4. 15. 13:32

 

 

 

 

패키지(Package), 모듈(Module), 클래스(Class), 메서드(Method), 그리고 함수(Function)는 프로그래밍, 특히 객체지향 프로그래밍에서 기본적인 구성 요소들입니다. 이들은 코드의 구조를 정립하고, 재사용성을 높이며, 관리를 용이하게 하기 위해 사용됩니다. 아래에서 이들 각각에 대해 자세히 설명하겠습니다.

 

 

 

패키지(Package)

패키지는 하나 이상의 모듈을 포함하고 있는 디렉터리(폴더)입니다. Python에서는 이 디렉터리에 __init__.py 파일이 포함되어 있어야 합니다. 이 파일은 폴더가 패키지의 일부임을 파이썬에 알리는 역할을 합니다. 패키지는 코드를 논리적으로 그룹화하여 관리할 수 있도록 도와줍니다.

 

모듈(Module)

모듈은 함수, 클래스, 또는 다른 요소들을 포함할 수 있는 파일입니다. 주로 .py 확장자 파일로 존재합니다. 모듈을 사용함으로써, 코드의 재사용성을 높이고, 네임스페이스를 분리하여 동일한 이름의 여러 함수나 클래스를 동시에 관리할 수 있습니다.

 

클래스(Class)

클래스는 데이터와 함수를 하나의 연관된 유닛으로 묶는 방법을 제공합니다. 클래스는 새로운 자료형을 정의하는 역할을 하며, 객체의 생성을 위한 틀(또는 설계도) 역할을 합니다. 클래스 내부에 정의된 함수를 메서드라고 하며, 이 메서드들은 클래스에 속한 데이터를 처리할 수 있습니다.

 

메서드(Method)

메서드는 클래스 내에 정의된 함수입니다. 클래스의 객체(인스턴스)가 생성될 때, 메서드는 그 객체에 연관된 기능을 수행합니다. 메서드의 첫 번째 파라미터는 항상 그 메서드가 속한 객체의 인스턴스 자신을 참조하는 self입니다.

 

함수(Function)

함수는 주어진 입력에 대해 일련의 작업을 수행하고 결과를 반환하는 코드의 집합입니다. 함수는 코드 중복을 방지하고, 프로그램을 논리적으로 분할하여 이해하고 관리하기 쉽게 합니다.

 

 

 

예시

파이썬에서 위 개념들을 사용한 간단한 예시입니다.

# mypackage/__init__.py
# 이 파일은 mypackage가 패키지임을 나타냅니다.

# mypackage/mymodule.py
def my_function():
    print("Hello, Function!")

class MyClass:
    def my_method(self):
        print("Hello, Method!")

# 사용 예
from mypackage import mymodule
mymodule.my_function()  # 함수 호출

obj = mymodule.MyClass()
obj.my_method()  # 메서드 호출
  • 패키지: mypackage
  • 모듈: mymodule.py 내부의 코드
  • 클래스: MyClass
  • 메서드: MyClass 내부의 my_method
  • 함수: my_function

이렇게 구성함으로써, 코드를 체계적으로 관리하고 효율적으로 사용할 수 있습니다.

 

 

 

'프로그래밍 > Python' 카테고리의 다른 글

[python] Tread, Multithreading 개념 정리  (0) 2024.04.17