💡 C++ 위임 생성자란?🧭 개요 (Overview)위임 생성자(delegate constructor)란,같은 클래스 안의 다른 생성자를 호출해서 초기화를 위임하는 생성자입니다. 생성자 내부의 중복 초기화 코드를 줄이기 위해 사용합니다. C++11부터 도입되었습니다.🧱 1. 기본 개념📌 일반 생성자의 문제점class MyClass { int x, y;public: MyClass() { x = 0; y = 0; } MyClass(int a) { x = a; y = 0; } MyClass(int a, int b) { x = a; y = b; }};📌 위임 생성자 사용 예class MyClass { int x, y;p..
✅ C++ 생성자에서 멤버를 초기화하는 두 가지 방법: 생성자 vs 초기화 리스트🔷 1. 멤버 초기화는 어떻게 해야 할까?C++에서 클래스를 설계할 때 멤버 변수의 초기화는 가장 기본적인 작업이지만,의외로 많은 혼동을 불러오는 주제입니다.class Person { int age;public: Person(int a) { age = a; }};class Person { int age;public: Person(int a) : age(a) {}};🔶 2. 생성자 방식 (본문 대입 방식)📌 정의생성자의 본문 내부에서 멤버 변수에 값을 대입하는 방식입니다.class Account { int balance;public: Account(int b) { ..
✅ C++ 객체 초기화 방식🔹 1. 기본 초기화 (Default Initialization)📌 정의객체를 생성할 때 생성자에 아무 값도 전달하지 않고 초기화하는 방식✅ 문법A a; // 전통적 방식A a{}; // C++11 이후 중괄호 기본 초기화✅ 조건 기본 생성자(매개변수 없음)이 반드시 존재해야 함✅ 예제class A {public: A() { cout "기본 생성자 호출됨" endl; }};int main() { A a1; // ✅ 기본 생성자 호출 A a2{}; // ✅ 기본 생성자 호출 (C++11 방식)}⚠️ 주의A a3(); // ⚠️ 함수 선언으로 간주됨 → 객체가 아님!🔹 2. 복사 초기화 (Copy Initializatio..
✅ C++ 생성자 (Constructor)🔷 1. 정의생성자(Constructor)는 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 멤버 함수입니다.객체의 멤버 변수들을 초기화하는 역할을 하며, 클래스 이름과 같고 반환형이 없습니다.class MyClass {public: MyClass(); // 생성자};🔷 2. 필요성📍 (1) 생성자가 없을 경우 문제점 객체 생성 후 멤버 변수를 직접 초기화해야 함 초기화를 빼먹으면 쓰레기 값 발생 → 심각한 버그 자원 할당, 파일 열기 같은 작업을 자동화할 수 없음class Person {public: string name; int age;};int main() { Person p; p.name = "홍길동"; // 실..
🧱 `struct`에서 출발한 객체지향의 여정: 캡슐화와 접근 함수의 탄생🔹 1. C의 `struct`: 데이터 묶음, 하지만 무방비 상태C 언어의 `struct`는 데이터를 묶는 단순한 도구입니다.하지만 기능은 없습니다. 보호도 없습니다.struct Point { int x; int y;};int main() { struct Point p; p.x = -1000; // ❗ 문제: 음수 좌표 허용됨}❗ 문제점 요약 외부에서 값을 마음대로 바꿀 수 있다. 유효하지 않은 값도 필터링 불가. 데이터를 다루는 함수는 구조체 외부에서 정의해야 한다.🔹 2. C++의 `class`: 기능을 가진 구조체의 확장C++은 C의 struct를 확장하여 class라는 개념을 도입했습니다.데..
🧠 객체지향 프로그래밍 완벽 이해하기C++ 코드와 스토리텔링으로 배우는 객체지향의 세계✅ 객체지향 프로그래밍이란?🔷 정의객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 사물(사람, 자동차, 은행 계좌 등)을 ‘객체’라는 단위로 모델링하여, 이 객체들이 서로 데이터와 기능을 함께 가지며 상호작용하는 방식으로 프로그램을 구성하는 패러다임입니다.간단히 말해, "현실의 구조를 소프트웨어 안에서 똑같이 표현하고 조작하는 방법"🔷 필요성초기 프로그래밍은 절차지향 방식으로, 순서대로 실행되는 함수 중심 구조였습니다.하지만 프로그램이 커지고, 상태가 많아지고, 역할이 다양해지면서 데이터는 여기저기 흩어지고 함수는 따로 존재해 전체 흐름이 점점 이해하기 어려워지..
📘 실험실 밖 고전적 조건형성(Classical Conditioning Outside the Laboratory)🔹 1. 민수의 치과 공포증: 스토리텔링으로 풀어보는 조건형성어릴 적, 민수는 충치 치료를 위해 치과를 방문했습니다.치과 의자의 차가운 가죽, 낮은 진료등 불빛, 그리고 “윙—” 하는 드릴 소리.그날의 아픈 기억(US: 무조건자극) 은 민수의 심장을 두근거리게 했습니다.이후 민수가 치과 의자(CS: 조건자극)를 보거나치과 기구 소리(CS)를 듣기만 해도민수의 심장은 뛰고, 손바닥엔 식은땀이 맺히며불안(CR: 조건반응)이 자동으로 일어났습니다.[치과 기구 소리(CS)] + [치료 통증(US)] → [불안(CR)]이 단순한 경험이 민수의 뇌리에 각인되어, 치과는 ‘공포의 대명사’가 되었습니다...
📘 이차조건화: 우리가 세상에서 배우는 방식🔷 이차조건화란 무엇인가?이차조건화(Second-Order Conditioning)는 첫 번째 조건자극(CS₁)을 매개로 새로운 자극(CS₂)을 학습하는 과정입니다. CS₁: 일차조건화로 이미 무조건자극(US)과 결합해 조건반응(CR)을 일으키는 자극 CS₂: 원래 중립 자극(NS)이지만, CS₁과 연합 후 단독으로도 CR을 유발🔷 일차 vs. 이차조건화 구분 과정 자극 반응 일차조건화 CS₁ + US → CR 종소리 + 음식 침흘림 이차조건화 1) CS₂ + CS₁ 반복2) CS₂ → CR 검사 불빛 + 종소리불빛 단독 침흘림 🔷 실험 절차: 두 단계로 명확히1️⃣ ..
- Total
- Today
- Yesterday
- 통계학
- 회계
- 강화학습
- 뇌와행동의기초
- c++
- 티스토리챌린지
- 여인권
- 코딩테스트
- 열혈프로그래밍
- stl
- 통계
- 인프런
- 데이터분석
- 일본어
- 일본어문법무작정따라하기
- 윤성우
- 백준
- 오블완
- C/C++
- 일문따
- 류근관
- Python
- 심리학
- 파이썬
- 인지부조화
- 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 |