[CS] 객체지향 OOP 개념 제대로 알기
·
Programming
객체지향 (OOP) 프로그램을 실제 세상에 가깝게 모델링하는 기법 데이터를 추상화시켜 속성과 행위를 가진 객체로 만들고, 그 객체 간의 상호작용을 통해 로직을 구현하는 프로그래밍 방법 코드 중복을 방지하고 재사용성을 높임 객체지향(OOP) 원칙 캡슐화 추상화 상속 다형성 클래스 (Class) 특별한 데이터와 메서드의 집합 설계도(틀) 메모리상에 올라가지 않음 객체 (Object) 하나의 class로 만들어진 여러 instance(object)는 각각 독립적이다.
[Python] 클래스 & 메소드
·
Programming
아래와 같이 차량의 정보를 관리해야하는 경우 우리는 여러 방법을 사용할 수 있다. 대표적인 파이썬의 자료구죠인 리스트, 딕셔너리를 통한 관리를 알아보고 어떤 단점이 있는지 클래스를 사용하면 어떻게 보완할 수 있는지 직접 구현해보자. 변수에 할당하여 관리 직관적이고 수정이 쉽지만 차량이 많아질수록 더 많은 변수를 만들어 관리해야하는 불편함이 있다. (=하드코딩) # 차량1 car_company_1 = 'Ferrari' car_detail_1 = [ {'color': 'White'}, {'horsepower': 400}, {'price': 8000} ] # 차량2 car_company_2 = 'Bmw' car_detail_2 = [ {'color': 'Black'}, {'horsepower': 270}, {..
[Python] Class 클래스 개념
·
Programming
클래스의 개념 namespace : 객체마다 별도 존재 class 변수 : 직접 접근 가능, 공유 인스턴스 변수 : 객체마다 별도 존재 class Dog: # object 상속 # 클래스 속성 species = 'firstdog' # 초기화/인스턴스 속성 def __init__(self, name, age): self.name = name self.age = age # 클래스 정보 print(Dog) >>> # 인스턴스화 a = Dog("mikky", 2) b = Dog("baby", 3) # 비교 print(a == b, id(a), id(b)) >>> False 4560946848 4560946704 # 네임스페이스 print('dog1', a.__dict__) print('dog2', b.__dic..