파이썬, 일급객체

sky.dev·2025년 4월 16일

Data&AI-Uni.

목록 보기
14/77
post-thumbnail

일급객체

객체(Object)란?
객체는 속성(값)행동(함수)을 가진 프로그램의 기본 단위

예: “스마트폰”이라는 객체 →

    속성: 색상, 모델명, 배터리 잔량

    행동: 전화 걸기, 앱 실행

구분 | 객체 지향 프로그래밍 (OOP) | 절차 지향 프로그래밍
구조 | 객체 중심 구성 | 절차(순서) 중심 구성
예시 | Python, Java | C, Basic
특징 | 재사용성, 캡슐화 강조 | 단계별 흐름 강조


일급 객체

다음 3가지 조건을 모두 만족하는 객체

변수에 할당할 수 있다

매개변수로 전달할 수 있다

리턴값으로 사용할 수 있다

예시

  • 숫자형 int
  • 문자열 str
  • 함수 function

변수에 함수 할당

def say_hello():
    return "안녕하세요!"

greeting = say_hello  # 함수 자체를 변수에 할당
print(greeting())     # 안녕하세요!

list나 dictionary에도 함수 저장이 가능하다

actions = {
    "start": lambda: "시작합니다!",
    "stop": lambda: "중지합니다!"
}
print(actions["stop"]())  # 중지합니다!

함수를 매개변수로 전달

def notify(action):
    print("알림:", action())

def alarm():
    return "오전 7시입니다! 기상하세요."

notify(alarm)  # 알림: 오전 7시입니다! 기상하세요.

함수를 리턴값으로 사용 (중첩 함수)

def choose_mode(mode):
    def light():
        return "라이트 모드 적용"
    def dark():
        return "다크 모드 적용"
    return light if mode == "light" else dark

apply_mode = choose_mode("dark")
print(apply_mode())  # 다크 모드 적용

0개의 댓글