python - OOP - ABC(Abstract Base Class)
ABC(Abstract Base Class)는 "구현되지 않고, 선언만 되어 있는 method가 포함된 class"를 말합니다. 구현되어 있지 않고 선언만 되어 있다는 것은, 이 ABC를 상속받은 Child Class에서 해당 method를 정의...
ABC(Abstract Base Class)는 "구현되지 않고, 선언만 되어 있는 method가 포함된 class"를 말합니다. 구현되어 있지 않고 선언만 되어 있다는 것은, 이 ABC를 상속받은 Child Class에서 해당 method를 정의...
python class 정의시 다음 4가지 method를 설명합니다. - : 보통 을 생성자라고 알고 있지만, 사실 메모리를 확보해주는 진짜 생성자는 입니다. 아래 코드에서는 이 부분에서 생성될 수 있는 Object의 개수를 제한하고, 추가로 생...
interface에서는 method를 선언만 할 수 있고 정의할 수는 없지만, 를 사용하면 정의할 수도 있습니다. Wrap-up interface의 모든 구현체에 동일하게 포함되는 method임에도, interface에서는 method를 정의할 ...
Java에는 이미 수많은 Class들과 Method들이 있습니다. Java에서 Function을 이용해서 프로그래밍을 한다고 할때, Class 혹은 Object의 Method들을 가져와서 동일한 기능을 가지는 함수로 사용할 수 있다면, 좀 더 유...
Java를 포함한 OOP 언어들에서는 BaseClass(혹은 Interface)의 reference Variable을 사용해서 DerivedClass의 Class Instance를 가리키게 할 수 있습니다. 대략 다음과 같죠. "왜 이런짓을 해야...
Class 안에 InnerClass를 만들었습니다. 그리고 InnerClass의 method인 에서 OuterClass의 field인 과 InnerClass의 field인 을 모두 출력하죠. OuterClass의 field인 이 private이지...
python에서 필요에 따라 anonymous function을 정의해서 임시적으로 사용하는 것처럼, Java에서도 Anonymous Class 혹은 Anonymous Interface를 재정의해서 사용할 수 있습니다. 필요에 따라, 특정 met...
Inner Class(내부 클래스)는 클래스 안에 클래스가 또 있는 겁니다. 클래스 안에 Object(Class Instance)가 있는게 아니라, Class 안에서 새로운 Class를 정의하는 것을 말합니다. 대략 다음과 같은 형태로 정의하는 ...
Java에서는 미리 다양한 자료구조에 대한 Interface를 설계 해두었습니다. 관리의 용이성 혹은 method명을 표준화시켜 관리하는 것이 목적이겠죠. : 동일한 type의 object들을 모아두는 container입니다. , , , , 는 ...
Java Virtual Machine(JVM) JVM은 컴파일된 자바 프로그램을 실행하는 가상환경을 말합니다. JVM은 컴퓨터의 OS위에서 돌아가고, Java Program은 JVM 위에서 돌아가죠. JVM은 여러 종류가 있고 대부분 JVM Sp...
Strategy Pattern은 객체지향적 설계에서 가장 많이 사용되는 패턴이죠. 하나의 예를 들어 보겠습니다. 클래스 이 있을 때, 점간의 거리를 측정하는 클래스가 내부에 있겠죠. 거리 측정은 조금씩 다를 수 있는데, 필요에 따라 내부의 를 다...
개발을 하다 보면 딱 하나의 Class Instance만 정의해서 사용해야 할 때가 있습니다. 이런 종류의 설계를 Singleton이라고 하죠. - Singleton은 딱 하나의 Class Instance만 생성하도록 제한됩니다. - 그리고 어플...
Abstract Class와 Interface는 "아직 구현되지 않은, 추상화된 클래스"를 의미합니다. 직접 Object로 구현되어질 수는 없고, 이후 얘네를 다른 Class가 상속받아서 virtual method들을 새롭게 정의해줘야 하죠. 이...
C++을 공부해보신 적이 있으신 분들은 아시겠지만 보통 OOP에서는 Abstract class를 만들어 두고 이를 상속하도록 하는게 일반적이죠. Abstract Class에는 field와 Behaviour가 모두 정의됩니다. 하지만, "네가 누구...
필요에 따라서, 프로그램의 모든 class가 상속받는 baseClass를 정의할 때가 있습니다. 음, 이건 일종의 디자인 패턴인데요. 가령 RPG게임 같은 것에서 모든 캐릭터가 HP, MP를 가지고 또 비슷한 method 이름들을 가진다면 모든 ...
Java에는 라고 하는 모든 Class의 BaseClass가 되는 Class가 존재합니다. 그냥 다음처럼 새로운 Class를 정의히면 자연스럽게 라는 클래스를 상속받게 되죠. 따라서 객체인 은 항위 class인 Integer 객체를 가리킬 수 있...