객체(Object)란?
객체는 속성(값)과 행동(함수)을 가진 프로그램의 기본 단위
예: “스마트폰”이라는 객체 →
속성: 색상, 모델명, 배터리 잔량
행동: 전화 걸기, 앱 실행
구분 | 객체 지향 프로그래밍 (OOP) | 절차 지향 프로그래밍
구조 | 객체 중심 구성 | 절차(순서) 중심 구성
예시 | Python, Java | C, Basic
특징 | 재사용성, 캡슐화 강조 | 단계별 흐름 강조
다음 3가지 조건을 모두 만족하는 객체
변수에 할당할 수 있다
매개변수로 전달할 수 있다
리턴값으로 사용할 수 있다
예시
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()) # 다크 모드 적용