본문 바로가기

반응형

대학생공부블로그

(34)
[문과 코린이의 IT 기록장] C++ - 템플릿과 static (함수 템플릿과 static 지역 변수, 클래스 템플릿과 static 맴버변수, template<typename T>, template<> 사용 상황, 템플릿 static 맴버변수 초기화의 특수화) [문과 코린이의 IT 기록장] C++ - 템플릿과 static (함수 템플릿과 static 지역 변수, 클래스 템플릿과 static 맴버변수, template, template 사용 상황, 템플릿 static 맴버변수 초기화의 특수화) [ 클래스 템플릿에 대한 이전 포스팅 ] 2021.06.29 - [문과 코린이의, [C. C++] 기록/C++ 이론] - [문과 코린이의 IT 기록장] C,C++ - 템플릿(Template)에 대한 이해와 함수 템플릿 (함수를 대상으로 템플릿 이해하기, 함수 템플릿과 템플릿 함수, 둘 이상의 형(Type)에 대해 템플릿 선언하기, 함수 .. [문과 코린이의 IT 기록장] C,C++ - 템플릿(Template)에 대한 이해와 함수 템플릿 (함수를 대상으로 템 [문과 코린이의..
[문과 코린이의 IT 기록장] C# - C# 기초 이해하기 (using System이란?, using static System.Console;, namespace _2021_03_02 { }, class MainApp { }, static void Main(string [] args) { }, CLR이란?) [문과 코린이의 IT 기록장] C# - C# 기초 이해하기 (using System이란?, using static System.Console;, namespace _2021_03_02 { }, class MainApp { }, static void Main(string [] args) { }, CLR이란?) ex ) using System; using static System.Console; namespace _2021_03_02 { class MainApp { // 프로그램 실행이 시작되는 곳 static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("사용법 2021_03_02.exe0
[문과 코린이의 IT 기록장] C# - C# 프로그래밍 Intro (더 나은 세상을 위한 C#, C#의 기본 파일) [문과 코린이의 IT 기록장] C# - C# 프로그래밍 Intro (더 나은 세상을 위한 C#, C#의 기본 파일) 1. 더 나은 세상을 위한 C# - C++에서, ++를 더 붙이면, #이 된다. 즉, C#이라는 이름은 C++을 계승한다는 의미에서 붙여진 것이다. - C와 C++은 AT&T 벨 연구소에서 출생한 반면, C#은 마이크로소프트의 앤더스 헤일스머그에 의해 만들어졌다. - C에서 작성된 코드는 C++에서 컴파일 할 수 있지만, C,C++로 작성된 코드는 C#에서 컴파일할 수 없다. - C# 프로그래밍 언어는, .NET에 최적화된 언어로서, 프로그래머의 생산성을 보다 높은 수준으로 끌어올렸다. * NET 클래스 라이브러리 : 콘솔, 데스크톱, 웹, 모바일 등에서 동작하는 애플리케이션을 손쉽게 개발..
[문과 코린이의 IT 기록장] C,C++ - 가상(virtual)의 원리와 다중상속 1 : 맴버함수와 가상함수의 동작원리 (객체 안에 정말로 맴버함수가 존재하는가?, 가상함수의 동작원리와 가상함수 테이블) [문과 코린이의 IT 기록장] C,C++ - 가상(virtual)의 원리와 다중상속 1 : 맴버함수와 가상함수의 동작원리 (객체 안에 정말로 맴버함수가 존재하는가?, 가상함수의 동작원리와 가상함수 테이블) 1. 객체 안에 정말로 맴버함수가 존재하는가? - 지금까지는 객체 내에 맴버함수가 존재한다고 설명했었다. 그러나 실제로는 객체 외부에 존재한다. ex ) C언어(구조체 변수와 전역함수)를 이용해, C++(클래스와 객체)를 흉내내보기 ex ) 이 예제를 C언어 스타일로 만들어보자. #include using namespace std; // 클래스 Data를 흉내낸 영역 typedef struct Data{ // 함수 포인터 변수가 구조체의 맴버로 등장했다. int data; void (*ShowData)..
[문과 코린이의 IT 기록장] C,C++ - 상속과 다형성 2 : 가상함수 ( 기초 클래스의 포인터로 객체를 참조하기, 함수의 오버라이딩과 포인터 형, 가상함수(Virtual Function), 'OrangeMedia 급여관리 확장성 .. [문과 코린이의 IT 기록장] C,C++ - 상속과 다형성 2 : 가상함수 ( 기초 클래스의 포인터로 객체를 참조하기, 함수의 오버라이딩과 포인터 형, 가상함수(Virtual Function), 'OrangeMedia 급여관리 확장성 문제'의 주석 부분 해결, 순수 가상함수(Pure Virtual Function)와, 추상 클래스(Abstract Class), 다형성) 1. 기초 클래스의 포인터로 객체를 참조하기 ex 1 ) class Base{ public: void BaseFunc() { cout
[문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정) [문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정) [ 상속 공부 접근 방법 ] a. 문제의 제시 : 상속과 더불어 다형성의 개념을 적용해야만 해결 가능한 문제를 먼저 제시한다,. b. 기본개념 소개 : 상속의 문법적 요소를 하나씩 소개해 나간다. c. 문제의 해결 : 처음 제시한 문제를, 상속을 적용해 해결해 나간다. ex ) OrangeMedia라는 회사가 운영하는 '급여관리 시스템' - 이 회사에서는 기존에는 정규직(ermanent) 하나의 근무형태만 존재했음. #include using namespace std; class PermanentWorker { // 정규직 클래스 ..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 6 : new & delete 연산자 오버로딩 (new 연산자 오버로딩에 대한 상세한 이해, operator new & operator new[ ]) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 6 : new & delete 연산자 오버로딩 (new 연산자 오버로딩에 대한 상세한 이해, operator new & operator new[ ]) 1. new 연산자 오버로딩에 대한 상세한 이해 - new & delete 연산자 오버로딩은, 기존의 앞서 봤던 연산자 오버로딩과 많이 다르다. * new & delete 또한, 연산자이다. 따라서 연산자 오버로딩이 가능하다. 1) new 연산자가 하는 일 a. 메모리 공간의 할당 b. 생성자의 호출 c. 할당하고자 하는 자료형에 맞게 반환된, 주소 값의 형 변환 - 이와 같이, 객체의 생성과정은 다소 복잡한 과정을 거친다. - 그러나 이 중, 생성자의 호출과 반환된 주소값의 형변환은 컴파일러가 ..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 5 : 배열의 인덱스 연산자 오버로딩 (배열 클래스, const 함수를 이용한 오버로딩의 활용, 객체의 저장을 위한, 배열 클래스의 정의) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 4 : 배열의 인덱스 연산자 오버로딩 (배열 클래스, const 함수를 이용한 오버로딩의 활용, 객체의 저장을 위한, 배열 클래스의 정의) - 이번 포스팅에서는, 배열요소에 접근할 때 사용하는, [ ] 연산자를 오버로딩 하고자 한다. 1. 배열 클래스 - C, C++의 기본 배열은 경계검사를 하지 않는다는 단점을 가지고 있다. 따라서 컴파일, 실행 모두 무리없이 진행되는, 엉뚱한 코드가 만들어질 수 있다. int main(){ int arr[3] = {1,2,3}; cout

반응형