오버로딩 C언어에서는 한 프로젝트에 동일한 함수명이 2개 있을 수 없음. error C++에서는 동일한 함수명 사용 가능(= 오버로딩), but 매개 변수의 인자 개수나 데이터타입이 같은 것은 만들 수 없음. 가능한 이유: 함수 네이밍 시 네임맹글링이라는 방법 사용 - 매개 변수의 개수, 타입까지 포함해 네이밍되기 때문 #include using namespace std; // C언어에서는 한프로젝트에 // 동일한 함수명이 2개 있을 수 없습니다. // C++에서는 동일한 함수명을 사용할 수가 있습니다. // 오버로딩. // 함수의 네이밍을 할 때 네임맹글링이라는 방법을 사용합니다. // addXX int add(int a, int b) { return a + b; } // addYY float add(..
캡슐화 : class형의 데이터타입을 만든 것. class형 데이터타입으로 만들어진 변수를 객체라고 함. 캡슐화의 기본 정책 = 정보 은닉 접근 제어자 private - 보여주지 않음(외부 접근 불가, 클래스 내부의 함수는 접근 가능). default protected - 자식(상속)에게만 접근 허용. 외부 허용x public - 외부에 공개. 이를 통해 객체끼리 상호작용 멤버 변수는 철저히 감추고(직접적으로는 접근 불가하게) - private, protected함수를 통하여 접근 Set/Get 함수 (public) SetNumber() - 멤버 변수에 값을 바꿀 수 있는 함수GetNumber() - 멤버 변수에 값만 가져올 수 있는 함수 #include using namespace std; // 캡슐화..
메인함수: 프로그램의 진입점 일방적인 실행 흐름(위에서 아래로) - 이를 제어해야 함. 제어문 조건문(분기문) 조건분기 if - 단일 조건문 if(조건식-처리 결과값이 논리값일 경우) { //참인 경우만 처리} if-else - 이중 조건문 if(조건식-처리 결과값이 논리값일 경우) { //참인 경우만 처리} else { 거짓인 경우를 처리 } if-else-if - 다중 조건문 (조건이 여럿일 때) #include using namespace std; int main() { int a = 20; if (a < 20) { // 단일 조건문 cout
1980년 초 C, C++은 하드웨어와 밀접, OS 등을 만들 때 사용됨 C++은 객체지향을 최초로 거의 완벽하게 구현한 언어 (C#, JAVA, JS 등의 기반) 컴퓨터 - CPU(연산장치). RAM. 하드디스크(저장장치). 모니터, 스피커(출력장치). 키보드, 마우스(입력장치). bit 소자 - 전원이 공급되지 않으면 0, 5v가 공급되면 1 메모리는 bit 소자의 배열, 2진수만 저장 가능. 메모리 주소값을 알아야함. 8bit = 1byte (256가지 2의8승의 경우의 수를 가짐) 1024byte = 1kbyte 1024kbyte = 1M 1024M = 1G 1024G = 1T 10 = 1010 (이진수) - 00001010 저장 -> 메모리 저장 값을 보고 10이라고 단정지을 수는 없음. Dat..