OOP 캡슐화,추상화,상속,다형성을 지원하는 언어 ># 캡슐화 ># 추상화 ># 상속 ># 다형성
cal1 = Cal(1, 2)print(cal1.dict"\_Cal\_\_a")print(
print(Robot.population)siri = Robot("Siri", 1234123)jarvis = Robot("jarvis", 5231535)bixby = Robot("bixby", 50310433)print(Robot.population)Robot.how_
siri = Robot("Siri", 1234123)print(Robot.dict)print("=====================")print(siri.dict)print("=====================")siri.say_hi()Robot.say_hi(si
클래스를 통해 인스턴스 변수에 접근할 수 있다.클래스를 통해 인스턴스 메서드에 접근할 수 있다.인스턴스를 통해 클래스 변수에 접근할 수 있다.인스턴스를 통해 클래스 메서드에 접근할 수 있다.클래스에서 인스턴스 자원에 접근할 때 하나의 클래스가 여러개의 인스턴스를 가질
메소드 중에서 \_\_로 시작해서 \_\_로 끝나는 메소드함수처럼 실행할 수 있게 한다.다양한 기능을 적용할 수 있다.객체중에서 ()를 통해 실행 할 수 있는 객체\_\_call\_\_메서드를 가지고 있는 객체파이썬의 모든 것은 객체이다.함수 또는 인서턴스에 ()를 붙
같은 이름의 메소드를 중복하여 정의하는 것매개변수의 개수나 타입을 다르게 하면, 하나의 이름으로 메소드를 작성객체 지향 프로그래밍의 특징 중 하나인 다형성(polymorphism)을 구현하는 방법 중 하나파이썬은 타입이 동적으로 변하는 동적타입언어이기 때문에 오버로딩이
상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것부모클래스의 임시적인 객체를 반환하여 부모클래스의 메소드를 사용할 수 있게 하는 것
public 은 내부,외부에서 접근이 가능하다.(클래스 외부,클래스 내부)public1 = Public("seoul")print(public1.name) \`\`\`private은 내부에서만 접근이 가능하다.(클래스 내부)은닉된 데이터에 접근하기 위한 메서드publ
다른 클래스의 일부 기능을 그대로 이용하고 싶으나, 전체 기능 상속은 피하고 싶을 때 사용Composition 또는 Aggregation 이라고도 한다.부모 클래스의 메서드 오버라이딩을 하는 경우 내부 구현 방식의 얕은 이해로 오류가 생길 가능성이 증가부모클래스가 변하
파이썬은 객체의 인스턴스 속성들을 dict자료형에 저장한다slots는 dict형을 사용하지 않도록 하고 고정된 속성의 집합에만 메모리를 할당하도록 한다.slots는 고정된 메모리 양을 할당한다.@profiledef func1(): obList1 = WithSlot
파이썬은 인터프리터가 실행하며 타입을 추론하여 체크한다.파이썬은 동적 자료형 언어이다.파이썬의 다이나믹함은 애플리케이션의 안정성에 위험 요소가 될 수 있다.파이썬 코드를 작성할 때 타입에 대한 메타 정보를 제공하는 타입 힌트가 필요하다.타입힌트는 주석 단위일 뿐 타입을
Genric Type 하나의 데이터 형식에 의존하지 않고,여러 다른 데이터 타입들을 가질 수 있게하는 기술 컴파일 시 강한 타입 체크를 할 수 있다. (어떤 클래스나 함수에서 특정 자료형으로 다루고 싶을 때) 타입 변환을 제거한다. (object를 반환하는 api
Stack 선입후출 구조(먼저 들어온 것이 나중에 나온다.)
Reflection 객체를 통해 클래스의 정보를 분석해내는 기술 ># 인스턴스를 통해 객체 정보 ># 객체의 메서드 ># 생성자 ># 메서드 실행
싱글톤 하나의 클래스에 대해 어플리케이션이 시작될 때 최초 한번만 메모리를 할당하고 그 메모리에 인스턴스를 생성한다. 즉, 인스턴스를 단 하나만 생성한다. 고정된 메모리영역을 얻어 하나의 인스턴스만 생성하기 때문에 메모리 낭비를 방지한다. 인스턴스가 전역적으로 사용될
dataclass 쉽고 간편한 자료형인 내장 자료구조들은 실행중 오류가 발생할 수 있다. 클래스를 직접 선언하고 데이터를 담아둔다면 type-safe하다. ># 기존방식 객체 참조 동등성비교 객체를 참조하는데 있어서 init을 통해 속성을 설정하고 repr를
구현이 없이 선언만 되어 있는 메서드추상 메서드는 자식 클래스에서 반드시 구현추상 메서드를 사용하여 공통된 메서드를 만들 수 있다.abc패키지의 ABC(상속),abstractmethod(데코레이터)를 적용추상메서드가 있는 클래스를 상속하면 반드시 자식클래스에서 구현
cross-cutting-concern 어플리케이션에서 모든 메서드 또는 api에 대하여 공통적인 기능이 필요할 수 있다.예를 들면 벤치마킹,로깅 또는 인증,인가와 관련된 기능들이 있다.이러한 어플리케이션을 전반적으로 관통하는 공통적인 사항들을 공통관심사항(cross