🔷 C++ 형변환 완전 정복✅ static_cast와 dynamic_cast 메모리 구조와 동작 원리1️⃣ 형변환(Type Casting) 개요프로그래밍에서 형변환(Type Casting) 이란 데이터를 한 타입에서 다른 타입으로 바꾸는 작업입니다.int n = 3;double pi = static_castdouble>(n);위 예제에서 int형 정수인 n의 값을 double형 실수로 변환합니다.형변환은 단순히 타입 이름만 바꾸는 것이 아니라,값의 표현 방식과 메모리 구조까지 바꾸는 작업입니다.2️⃣ C++ 형변환 종류 캐스팅 종류 특징 시점 static_cast 값 또는 포인터 타입 변환, 타입 검사 없음 ..
🔷 객체 잘림(Object Slicing)이란?✅ 1️⃣ 한 줄 정의객체 잘림(Object Slicing)이란, 자식 클래스 객체를 부모 클래스 타입으로 값 복사할 때, 자식 클래스 고유의 데이터나 기능이 잘려나가는 현상을 말합니다.🔷 2️⃣ 왜 잘리는가?자식 클래스는 부모 클래스의 기능을 상속받고, 그 위에 자기만의 고유 기능을 추가합니다.그래서 메모리 구조상 자식 클래스 객체는 부모보다 큽니다.하지만 자식 객체를 부모 타입 변수에 값 복사하면,복사되는 대상(부모 변수)의 크기만큼만 담을 수 있기 때문에자식 고유 부분은 잘려나가고 복사되지 않습니다.📦 객체 잘림의 메모리 시각화[ 자식 클래스 객체 (원본) ] ┌────────────────────────┐ │ 부모 클래스 부분 │ ──..
✅ 인터페이스 클래스란?🔷 정의인터페이스 클래스(interface class)란, 오직 순수 가상 함수만으로 구성된 추상 클래스입니다.C++에는 Java처럼 interface라는 키워드는 없지만,순수 가상 함수만 포함된 클래스를 인터페이스 클래스라고 부릅니다. 2025.05.04 - [프로그래밍/홍정모의 따라배우는 C++] - 추상 클래스 (Abstract Class)란 무엇인가? 추상 클래스 (Abstract Class)란 무엇인가?순수 가상함수의 배경지식2025.05.04 - [프로그래밍/홍정모의 따라배우는 C++] - 순수 가상 함수 (Pure Virtual Function)란? 순수 가상 함수 (Pure Virtual Function)란?✅ 순수 가상 함수 (Pure Virtual Funct..
순수 가상함수의 배경지식2025.05.04 - [프로그래밍/홍정모의 따라배우는 C++] - 순수 가상 함수 (Pure Virtual Function)란? 순수 가상 함수 (Pure Virtual Function)란?✅ 순수 가상 함수 (Pure Virtual Function) – 완전 정리🔷 1. 정의순수 가상 함수(pure virtual function)는 부모 클래스에서 선언만 하고 구현하지 않는 가상 함수입니다.이러한 함수를 가진 클래스는 추상eunjin123123.tistory.com ✅ 추상 클래스 (Abstract Class) – 완전 구조적 설명🔷 1. 정의추상 클래스(Abstract Class)는 하나 이상의 순수 가상 함수(pure virtual function)를 포함하는 클래스입니..
✅ 순수 가상 함수 (Pure Virtual Function) – 완전 정리🔷 1. 정의순수 가상 함수(pure virtual function)는 부모 클래스에서 선언만 하고 구현하지 않는 가상 함수입니다.이러한 함수를 가진 클래스는 추상 클래스(Abstract Class)가 되며, 이 추상 클래스는 직접 객체를 생성할 수 없습니다.🔷 2. 목적 공통된 인터페이스를 부모 클래스에 정의하여 자식 클래스에서 동일한 함수 시그니처를 강제합니다. 다형성(polymorphism) 구현을 가능하게 하며, 유지보수성과 확장성을 높여줍니다. 개발자의 실수를 방지하고 코드 구조의 일관성을 유지할 수 있습니다.🔷 3. 선언 방법virtual 반환형 함수이름(매개변수) = 0;✔️ 예시virtual void ma..
✅ 다형성이란?👉 정의부터**다형성(polymorphism)**은 **“하나의 이름이 다양한 형태로 동작할 수 있는 것”**을 뜻합니다.C++에서는같은 함수 이름이라도 다른 방식으로 동작할 수 있도록 만들 수 있고같은 부모 타입을 가진 자식 객체들이 서로 다르게 행동하게 만들 수 있습니다.🧠 왜 쓰는 걸까?공통된 인터페이스로 다양한 객체를 다룰 수 있게 해 줍니다.예를 들어:Animal* a = new Dog();a->speak(); // 강아지가 멍멍!Animal* b = new Cat();b->speak(); // 고양이가 야옹!→ 둘 다 Animal*인데 동작은 다름. 이게 바로 다형성입니다.✅ 다형성의 종류C++에서는 두 가지로 나뉩니다.종류 이름 타이밍 키워드 예시정적 다형성Static ..
- Total
- Today
- Yesterday
- 일본어문법무작정따라하기
- C/C++
- stl
- 정보처리기사
- 코딩테스트
- 류근관
- 인프런
- 티스토리챌린지
- 윤성우
- 일문따
- Python
- 백준
- 열혈프로그래밍
- 일본어
- 회계
- C
- 사회심리학
- 강화학습
- 심리학
- K-MOOC
- 파이썬
- 보세사
- 통계학
- 인지부조화
- 여인권
- 뇌와행동의기초
- c++
- 오블완
- 데이터분석
- 통계
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |