🧠 C++에서 Nested Type이란?― 클래스 안에 숨겨진 타입들을 제대로 이해하고 사용하는 법✅ 1. 정의: Nested Type이란?Nested Type(중첩 타입)이란 클래스 내부에 정의된 타입을 의미합니다. 즉, 클래스 안에 다른 타입(class, struct, enum, typedef, using 등)을 논리적으로 묶어 정의하는 것입니다.✅ 2. 쓰임: Nested Type은 언제, 왜 사용될까? 상황 설명 예시 관련 타입을 한 곳에 묶고 싶을 때 내부 클래스, 설정 값 등을 내부에 포함 Tree::Node, Button::Style 외부에 타입을 감추고 싶을 때 내부..
🧠 C++에서 익명 객체란?― 이름 없이 잠깐 쓰고 사라지는 객체✅ 1. 정의: 익명 객체란?C++에서 익명 객체(anonymous object)란, 변수 이름 없이 생성되는 객체를 말합니다.보통 객체는 이렇게 만듭니다:Person p;여기서 p는 객체의 이름입니다. 이 이름을 통해 메서드를 호출하거나 상태를 저장합니다.하지만 딱 한 번만 사용할 객체라면 굳이 이름을 붙일 필요가 없겠죠?📌 이럴 때 사용하는 것이 바로 익명 객체입니다.익명 객체는 이름 없이 생성되어 곧바로 사용되고, 사용이 끝나면 즉시 사라집니다.✅ 2. 쓰임: 익명 객체는 어디에 쓰일까? 상황 설명 예시 한 번만 메서드를 호출할 때 임시 객체로 간단히 실행 Person().sayHello(..
🔐 C++ friend 완전 이해: 함수, 클래스, 멤버 함수 – 각각 언제, 왜, 어떻게?C++에서 private 멤버는 철저히 감춰져 있어서, 클래스 외부에서는 접근할 수 없습니다.하지만 외부 함수나 다른 클래스가 그 내부에 꼭 접근해야 하는 경우, 이 제한을 예외적으로 풀어줄 필요가 있습니다.이때 사용하는 것이 바로 friend 키워드입니다.단, 남용하면 객체 간 결합도가 높아지므로 정확한 용도와 상황을 이해한 뒤에 사용해야 합니다.✅ friend 함수 – 외부 함수에게 클래스 내부 비밀을 보여줘야 할 때🚨 문제: 외부 함수가 클래스의 private 멤버에 접근해야 한다다음 예제를 보세요. 외부 함수 printWidth가 Box 클래스의 width에 접근하려고 합니다.class Box {priv..
✅ 정적 멤버 함수란?클래스 내부에서 객체 없이 호출 가능한 함수“왜 필요한가?”는 항상 static이 없을 때 생기는 문제에서 출발해야 합니다.🔷 1. 정의: 정적 멤버 함수란?정적 멤버 함수(static member function)는 객체를 만들지 않아도 호출할 수 있는 클래스 내부 함수입니다.class MyClass {public: static void hello() { std::cout 📌 출력 결과Hello from static!🔷 2. 문제와 해결 1: 객체 없이 호출하고 싶은데, 객체가 필요함🔴 문제 1: 단순한 기능인데도 객체를 매번 만들어야 함class Calculator {public: int add(int a, int b) { return ..
✅ 정적 멤버 변수란?C++ 객체지향에서 '공통 정보'를 다루는 정확한 방법1️⃣ 문제 제기: 객체지향은 왜 "공통 정보"를 다루기 어려운가?C++에서 클래스를 만들면, 보통 다음과 같이 코딩합니다:class Person {public: string name; int age;};이렇게 만들면 `Person` 객체가 100개면, 각각 `name`, `age`를 따로 가집니다.즉, 객체마다 자기 데이터만 존재하게 됩니다.✔️ 이것이 객체지향의 기본 원칙입니다:“객체는 자기 상태를 자기 안에 가진다.”그러나 이 원칙만으로는 해결되지 않는 상황도 존재합니다.2️⃣ 어떤 정보는 '객체 개별 정보'가 아니다예를 들어 다음과 같은 정보는 어떨까요? 모든 Person이 말할 때 사용하는 공통 언어 ("Ko..
📌 클래스에서 const 오버로딩 — 왜 필요한가?1️⃣ 개념부터 잡기: const 오버로딩이란?C++에서는 멤버 함수에 const를 붙여 오버로딩할 수 있습니다.이것은 동일한 함수 이름이지만, 객체가 const인지 아닌지에 따라 서로 다른 함수 버전이 호출되도록 합니다.class Sample {public: int getValue() const; // const 객체에서 호출됨 int getValue(); // 일반 객체에서 호출됨};🔍 즉, const는 함수 시그니처의 일부이며, 오버로딩이 가능합니다.2️⃣ 왜 필요한가? — const 객체의 함수 호출 제한C++에서 const 객체는 const 멤버 함수만 호출할 수 있습니다.const Sample s;s.getValue..
클래스에서 const 선언 2025.05.13 - [프로그래밍/홍정모의 따라배우는 C++] - 클래스에서 Const란? 1편 클래스에서 Const란? 1편✅ 클래스에서 Const란? 1편✅ 1. 클래스 설계🎯 목적 const란 변경을 막는 키워드로서, coonst를 사용하면 클래스 내 변경불가 const가 있는 경우와 없는 경우를 나누어서 const의 역할 분석✅ 클래스eunjin123123.tistory.com 🔷 왜 인자 전달 앞에 붙이는 const를 붙일까?✅ 인자 전달 앞에 붙이는 constC++ 함수 선언을 보다 보면 다음과 같이 함수 인자 앞에 const가 붙은 경우를 자주 봅니다:void print(const std::string& message);많은 분들이 const를 “수정 ..
✅ 클래스에서 Const란? 1편✅ 1. 클래스 설계🎯 목적 const란 변경을 막는 키워드로서, coonst를 사용하면 클래스 내 변경불가 const가 있는 경우와 없는 경우를 나누어서 const의 역할 분석✅ 클래스 코드class Student {private: int id; std::string name;public: Student(int idValue, std::string nameValue) { id = idValue; name = nameValue; } int getId() { return id; } std::string getName() { return name; } void setId(i..
- Total
- Today
- Yesterday
- 백준
- 코딩테스트
- 조건반응
- stl
- 강화학습
- 윤성우
- 류근관
- 통계학
- 일본어문법무작정따라하기
- 데이터분석
- c++
- 티스토리챌린지
- 통계
- C
- 보세사
- 일본어
- 뇌와행동의기초
- 여인권
- Python
- 열혈프로그래밍
- 회계
- 오블완
- 정보처리기사
- 인지부조화
- K-MOOC
- 사회심리학
- 파이썬
- 심리학
- 일문따
- C/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 |