목록program() (15)
DINO NET
SOLID 원칙 Robert C. Martin 이라는 개발자가 2000년도에 처음 발표한 객체 설계의 기본 5 원칙. 1. 단일 책임 원칙 Single Responsibility Principle 2. 개방 폐쇄 원칙 Open-Closed Principle 3. 리스코프 치환 원칙 Liskov Substitution Principle 4. 인터페이스 분리 원칙 Interface segregation Principle 5. 의존 관계 역전 원칙 Dependency Inversion Principle 단일 책임 원칙 Single Responsibility Principle 모든 클래스는 단 한가지의 책임만을 갖고, 클래스 안에 정의되어 있는 모든 기능은, 이 하나의 책임을 수행하는데 집중되어 있어야 한다. ..
다형성(Polymorphism) 하나의 변수가 서로 다른 클래스의 인스턴스들을 가리킬 수 있는 성질 * 각 클래스들은 동일한 이름의 메소드를 전부 포함해야 한다. example) from math import pi class Rectangle: """직사각형 클래스""" def __init__(self, width, height): self.width = width self.height = height def area(self): """직사각형의 넓이를 리턴""" return self.width * self.height def perimeter(self): """직사각형의 둘레를 리턴""" return 2*self.width + 2*self.height def __str__(self): """직사각형의 ..
상속(Inheritance) 두 클래스 사이에 부모-자식 관계를 설정하는 것. A, B 모두가 클래스라 가정하면, 라는 명제는 성립하고 라는 명제가 성립이 되지 않을 때, A는 B에 속해 있는 형태이고 이는 'A가 B에 상속되었다'라고 말할 수 있다. 클래스 끼리의 상속은 다음과 같이 표현할 수 있다. class 자식_클래스(부모_클래스): 특성 자식 클래스는 부모 클래스의 모든 변수와 메소드를 물려받는다. 중복되는 변수와 메소드를 상속 받음으로써 중복을 최소화할 수 있다. 자식 클래스는 부모 클래스의 변수와 메소드를 오버라이딩을 통해 수정이 가능하다. 오버라이딩 부모 클래스로부터 물려 받은 변수, 메소드를 자식 클래스에 맞게 수정하는 것. 자식 클래스에 물려받은 메소드(변수)와 동일한 메소드(변수)를 ..
캡슐화(Encapsulation) 1. 객체의 일부 구현 내용에 대한 외부로부터의 직접적인 액세스를 차단하는 것. 2. 객체의 속성과 그것을 사용하는 행동을 하나로 묶는 것. 1. 객체의 일부 구현 내용에 대한 외부로부터의 직접적인 액세스를 차단하는 것. : 변수, 메소드명 앞에 언어바 두 개 (__)를 쓰면 "클래스 외부" 에서 사용하지 못한다. class Citizen: """주민 클래스""" drinking_age = 19 # 음주 가능 나이 def __init__(self, name, age, resident_id): """이름, 나이, 주민등록번호""" self.name = name self.__age = age self.__resident_id = resident_id human1 = Citi..