[문과 코린이의 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++ - 문자 (문자(char), 문자 배열, 문자열, Stirng)
[문과 코린이의 IT 기록장] C,C++ - 문자 (문자(char), 문자 배열, 문자열, Stirng) 1. 문자(char) : 문자는 인간만이 가지는 특수한 인식 체계이다. 즉, 컴퓨터 내부에서 문자라는 것은 존재하지 않는다. 1) char : char변수는 1byte 정수(integer)이다. : 그러나, char 자료형이 정수일지라도, 일반 정소와는 다른 방식으로 사용한다. : 그래서, char 값을 정수로 해석하는 대신, ASCII code 문자로 해석한다. * ASCII란? ) American Standard Code for Information Interchange의 약자로, 영어 문자(+몇 개의 다른 기호)를, 0에서 127사이의 숫자(ASCII)코드로 나타낸다. 예를 들어, 'a'의 문자..
[문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference)
[문과 코린이의 IT 기록장] C,C++ - 함수 반환형 (Return by Value, Return by Address, Return by Reference) 기억할 사항 ) int a = 10; // Rvalue인 10을 복사해서, a에 저장한다. (이동하는게 아님) [ivalue와 rvalue] - lvalue : 단일 표현식 이후에도 없어지지 않고, 지속되는 객체. 즉, 이름을 가지는 객체 ex ) const타입을 포함한, 모든 변수는 lvalue라고 할 수 있음, ++x - Rvalue : 표현식이 종료된 후에는 더 이상 존재하지 않는 암시적인 값 ex ) 상수, 임시객체, x++ cf ) 둘 다 증가된 값을 리턴하지만, ++x는 증가된 x 자신을 리턴하기 때문에 lvalue인 반면에, x++는..
[문과 코린이의 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++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저)
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저) 1. 대입연산자 1) 대입 연산자 오버로딩은, 복사 생성자와 매우 유사하다. [ 디폴트 대입 연산자 ] - 정의하지 않으면 디폴트 대입 연산자가 삽입된다. - 디폴트 대입 연산자는 맴버 대 맴버의 복사(얕은 복사)를 진행한다. - 연산자 내에서 동적 할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야 한다. 2) 복사생성자 vs 대입연산자 : 호출되는 시점에서 차이가 존재한다. a. 복사생성자 호출 상황 int main(){ Point pos1(5,7); Point pos2 = pos1; // 새로 생성하는 객체 pos2의 ..