언어/기술 질문

[기술 질문] #9_객체 지향 프로그래밍(OOP) 객체 지향 프로그래밍에 대해 알아보겠습니다. Overview 개념 네 가지 특성 다섯 가지 원칙 #1. 개념 1. OOP?? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 절차 지향적 시각에서 벗어나, 실세계에 존재하고 인지하는 "객체"를 소프트웨어 세계에서 표현하기 위해 객체의 핵심적인 개념과 기능만을 추출하는 추상화를 통해 모델링하려는 프로그래밍 패러다임을 의미합니다. #2. 네 가지 특성 1. 캡슐화(Encapsulation)? OOP의 캡슐화란 데이터와 코드의 형태를 외부로부터 은닉하고, 데이터의 구조와 역햘, 그리고 기능을 하나의 캡슐 형태로 만드는 방법입니다. 예를 들면, 클래스의 private 접근 제어자 활용과 Getter..
[기술 질문] #6_동적 할당 C++의 동적 할당에 대해 알아보겠습니다. Overview 개념 malloc, free new, delete virtualalloc, virtualfree #1 개념 [Basic C++] #57_동적 메모리 [Basic C++] #57_동적 메모리 C++의 "동적 메모리"에 대해 알아보겠습니다. "전문가를 위한 C"의 22 항목, "효과적인 메모리 관리"에 해당하는 내용입니다. 동적 메모리 1. 메모리 구조 1. 코드 영역 : 컴 webddevys.tistory.com [Basic C++] #3 객체의 동적 할당, 얕은 복제, 깊은 복제 [Basic C++] #3 객체의 동적 할당, 얕은 복제, 깊은 복제 C++ 개발 중 객체 생성, 복제, 그리고 대입 과정에서 발생하는, ..
[기술 질문] #5_struct, 구조체 C++의 구조체에 대해 알아보겠습니다. Overview 개념 배열과 구조체 공용체 패딩 #1 개념 1. 구조체? struct MyStruct { int IntVal; float FloatVal; long LongVal; string Str; }; 구조체는 논리적으로 관련이 있는 항목들을 하나의 자료형으로 묶기 위해 사용됩니다. 객체의 데이터 멤버처럼, 구조체의 각 멤버들은 "."를 통해 접근이 가능하며, 포인터를 활용할 수도 있습니다. 2. 주의할 점? 구조체 변수 사이에 비교 연산자를 사용할 수 없습니다. 구조체 자신의 멤버로 구조체 자신을 사용할 수 없습니다. 구조체 선언에서 멤버 변수를 초기화할 수 없습니다. 3. 코드 #include using namesp..
[기술 질문] #4_#define, 매크로 C++의 "#define" 키워드에 대해 알아보겠습니다. Overview 개념 코드 개념 1. #define #define PI 3.14 Details #define으로 정의된 기호 상수 등은 전처리기가 확장 문자열로 변환합니다. #(전처리 지시자) + define(정의하다) 주의할 점은 ";"을 붙이면 함께 치환되어 문제가 발생할 수 있습니다. 숫자 상수로 대체된 소스코드는 컴파일 에러 발생 시 찾기 어렵습니다. 유지보수에 문제가 발생합니다! 결과적으로, #define 보다 const를 활용하는 것이 더 효율적입니다. 2. 매크로 함수 #define Add(a,b) (a + b) #define PLUS(a,b) a+b Details 일반 함수 호출은 함수가 위..
[기술 질문] #3_const 키워드 C++의 "const" 키워드에 대해 알아보겠습니다. Overview const 변수 const 데이터 멤버 const 멤버 함수 const 변수 1. const 변수 const float SomeFloat = 3.5; const std::string SomeStr = "Hello World"; Details const 키워드는 절대 변하지 않는 상수 값을 정의하기 위해 이용합니다. const 키워드는 선언문의 가장 앞에 붙여 활용합니다. 정리하자면, const 키워드로 선언된 변수는 컴파일러에 의해 그 값이 바뀌지 않도록 보증됩니다. 예외적으로, const_cast를 통해 상수성 제거가 가능한 경우도 있습니다. 2. const 포인터 // #1 첫 번째 목적 : 포..
[기술 질문] #2_auto 키워드, extern 키워드 C++의 "auto" 키워드와 "extern" 키워드에 대해 알아보겠습니다. Overview 개념 코드 개념 1. auto 키워드(자동 타입 추론) C++11부터 제공하는 auto 키워드는 변수의 유형을 컴파일러가 자동으로 추론하도록 하는 기능을 제공합니다. 지역 변수와 동일하게 함수 블록 내부에서 선언되며, 블록의 종료와 함께 소멸됩니다. 메모리 구조의 "스택"에 메모리 할당을 받습니다. 2. extern 키워드(외부 변수) 전역 변수와 동일하게 함수 블럭 밖에서 선언되며, 프로그램의 종료와 함께 소멸됩니다. 메모리 구조의 "정적 데이터(Data) 영역"에 메모리 할당을 받습니다. 외부 파일에서 선언한 전역 변수를 참조할 때 사용됩니다. 주의할 ..
[기술 질문] #1_변수 종류 C++의 "변수"에 대해 알아보겠습니다. Overview 메모리 구조 변수 종류 지역-Stack, 동적-Heap 함수 인자를 통해 함수로 값을 넘겨주는 방식 메모리 구조 1. 메모리 구조 [Basic C++] #57_동적 메모리 [Basic C++] #57_동적 메모리 C++의 "동적 메모리"에 대해 알아보겠습니다. "전문가를 위한 C"의 22 항목, "효과적인 메모리 관리"에 해당하는 내용입니다. 동적 메모리 1. 메모리 구조 1. 코드 영역 : 컴 webddevys.tistory.com Details 코드 영역 : 컴파일된 프로그램이 저장되는 영역 데이터 영역 : Global 변수 + Static 변수가 저장되는 영역 힙 영역 : 동적 할당된 변수를 저장하는 영역 (런타..
Hardii2
'언어/기술 질문' 카테고리의 글 목록 (2 Page)