Object Oriented Programming(OOP)
객체 지향 프로그래밍 언어
속성
과 행동
을 가짐클래스(class)
(설계도)와 실제 구현체 인스턴스(instance)
로 나눔class PersonalInfo(object): ※ class 이름은 띄어쓰기 부분에 대문자 사용
__init__
, self
와 함께__init__
은 객체 초기화 예약 함수
class PersonalInfo(object):
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
self를 추가해야만 class 함수로 인정
class PersonalInfo(object):
def change_age(self, new_age):
print(f"{self.age}에서 {new_age}으로 이름 변경 완료")
self.age = new_age
jeonghyun = PersonalInfo("jeonghyun", "25" "male") # 객체 선언
print("나이 : ", jeonghyun.age) # 객체의 attribute 불러오기
jeonghyun.change_age(26) # method 사용
📝 전체 코드
class PersonalInfo(object):
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def change_age(self, new_age):
print(f"{self.age}에서 {new_age}으로 이름 변경 완료")
self.age = new_age
jeonghyun = PersonalInfo("jeonghyun", "25" "male")
print("나이 : ", jeonghyun.age)
jeonghyun.change_age(26)
부모 클래스로 부터 속성과 method를 물려받은 자식 클래스를 생성
class PersonalInfo(object):
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
def about_me(self): # method 선언
print("저는", self.name, "이고" ...")
class Addtional(PersonalInfo): # 부모 클래스로부터 상속
def __init__(self, name, age, gender, address):
super().__init__(name, age, gender) # super() = 부모 객체 사용
self.address
def about_me(self):
super().about_me() # 부모 클래스의 함수 사용
print("사는 곳은", self.address, "입니다.")
me = PersonalInfo("jeong", 25, "male", "Seoul")
me.about_me()
>>>
저는 ...
사는 곳은 ...
__
-> private 변수로 선언, 타객체가 접근 x
[부스트캠프 AI Tech] Week 1 - Day 2