순수가상함수(Pure Virtual Function) - C++/C#/CS 기초
순수가상함수(Pure Virtual Function) 📌 개념 정리 구현 없이 선언만 하는 가상함수vptr. 문법: virtual void f() = 0;. 추상클래스 생성의 핵심. 💻 예제 class Shape { public: int x; int y; virtual void Draw() = 0; // 순수 가상 함수 ...
순수가상함수(Pure Virtual Function) 📌 개념 정리 구현 없이 선언만 하는 가상함수vptr. 문법: virtual void f() = 0;. 추상클래스 생성의 핵심. 💻 예제 class Shape { public: int x; int y; virtual void Draw() = 0; // 순수 가상 함수 ...
다형성(Polymorphism) 📌 개념 정리 동일한 인터페이스로 다양한 동작을 수행하는 객체지향 특성. 정적 다형성: 함수 오버로딩, 템플릿. 동적 다형성: 가상함수vptr, vtable 기반. 💻 예제 class Shape { public: virtual void Draw() { cout << "Generic S...
객체지향(OOP - Object Oriented Programming) 📌 개념 정리 객체지향(OOP, Object-Oriented Programming)은 데이터와 행위를 객체 단위로 묶어서 설계하는 방법론. 주요 특징 (4대 특성) 추상화 (Abstraction) 캡슐화 (Encapsulation) ...
상속(Inheritance) 📌 개념 정리 기존 클래스를 기반으로 새로운 클래스를 정의하는 기법. 코드 재사용성과 다형성 지원. 상속 방식: public, protected, private. 💻 예제 class Animal { public: virtual void Speak() { cout << "Animal\n";...
IDisposable 패턴 📌 학습 목표 명시적 자원 해제 Dispose 메서드와 using 구문 이해 using 문/선언의 동작(try/finally 전개) 이해 Finalizer(종종 “소멸자”)와의 관계, SafeHandle 권장 패턴 이해 📌 개념 정리 C#에서 자원을 명시적으로 해제하기 위한 인터페이스 Dispo...
제네릭 인터페이스(Generic Interface) 📌 학습 목표 제네릭 인터페이스의 개념/필요성 이해 타입 안정성, 재사용성, 성능(박싱 회피) 관점에서의 장점 파악 공변/반공변(variance), 제네릭 제약조건(constraints) 올바르게 사용하기 DI/아키텍처에서 제네릭 인터페이스를 패턴으로 적용하는 방법 익히기 🧭...
Garbage Collector(가비지 컬렉터) Garbage Collector(가비지 컬렉터) 📌 학습 목표 Garbage Collector의 동작 원리 이해 세대별(Generational) 수집 구조 설명 Stop-the-world 현상과 성능 이슈 학습 RAII와의 차이 비교 (C++ vs C#) 📌 개념 정리 메...
다이아몬드 상속 문제(Diamond Inheritance Problem) 📌 개념 정리 다중 상속 시 공통 조상 클래스가 중복 포함되는 문제. 메모리 중복, 호출 모호성 발생. 💻 예제 class A {E}; class B : public A {E override}; class C : public A {E override}; class ...
컴포지션(Composition) 📌 개념 정리 상속 대신 클래스 안에 다른 클래스를 멤버로 포함하는 방식. 관계: “has-a” vs 상속의 “is-a”. 💻 예제 class Engine { public: void Start() { cout << "Engine start\n"; } }; class Car { privat...
클래스(CLASS) 📌 개념 정리 객체지향의 기본 단위. 데이터(멤버 변수)와 동작(멤버 함수)을 묶은 사용자 정의 타입. 접근 제어자: public, protected, private. C++에서는 struct도 사용 가능하나 기본 접근 지정자가 다름 (class는 private, struct는 public). 💻 예제 clas...