본문 바로가기

반응형

코딩공부

(91)
[문과 코린이의 IT 기록장] C,C++ - friend 선언( friend란?, 클래스와 friend 선언, friend 선언은 언제 해야하는가?, 함수의 friend 선언 ) [문과 코린이의 IT 기록장] C,C++ - friend 선언 ( friend란?, 클래스와 friend 선언, friend 선언은 언제 해야하는가?, 함수의 friend 선언 ) 1. friend란? : private 맴버의 접근을 허용하는 선언이다. - friend는 접근 지정자를 완벽히 무시할 수 있는 기능을 가졌다. 즉, private건, protect건, friend라고 선언된 대상에게는 완벽하게 public으로 작용한다. - friend는 당하는 쪽에 선언하며, 그 내용을 자기 클래스 안(혹은 함수)에 담는다. [ friend 선언의 특징 ] 1) friend지정은 단 방향이며, 명시적으로 지정한 대상만 friend가 된다. 2) friend지정은 전이되지 않으며, friend의 friend관..
[문과 코린이의 IT 기록장] C,C++ - 임시객체(임시객체 기초, 임시객체 정의, 임시객체 특징, 임시객체 사례) [문과 코린이의 IT 기록장] C,C++ - 임시객체(임시객체 기초, 임시객체 정의, 임시객체 특징, 임시객체 사례) 1. 임시객체 기초 임시객체란? : 실행 도중에 잠깐만 사용되는 객체로, 소스 코드에도 없는 힙 이외의 공간에 생성되는 것이 임시객체이다. ex ) main함수에서, A함수에 n을 인자로 넘겨주면, A함수의 통용범위에서만 사용가능한 int a라는 임시객체를 생성하게 된다. 임시객체 a는 n의 값인 1을 담게 되는데 이 때 복사가 일어난다. 이를 값에 의한 복사(Call by value)라고 한다. 마찬가지로, return a를 할 때도, 리턴 값은 int형 임시객체를 생성하고 담게 된다. int A() : 값 리턴, 임시객체가 생성된다. int & A() : 참조 리턴, 리턴용 임시객체를..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술[(2) 컴퓨터 구조 분야의 8가지 위대한 아이디어] [문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술 [(2) 컴퓨터 구조 분야의 8가지 위대한 아이디어] 1. Moore의 법칙을 고려한 설계 - 18~24개월마다 칩에 집적되는 소자의 수가 2배가 된다. - 우상향 증가 그래프 2. 설계를 단순화하는 추상화 - Moore의 법칙에 따라 자원의 수가 급격하게 증가함에 따라 설계 시간이 길어지는 것을 방지하기 위해 생산성을 높이기 위한 추상화 마련.(단순화) 3. 자주 생기는 일을 빠르게 4. 병렬성을 통한 성능 개선 ex) if, for문 -> 어셈블러 변경 (매우 다양한 프로세서) -> 병렬 처리 5. 파이프라이닝을통한 성능 개선 - 병렬성의 특별한 형태 - 할 일을 분담해서 데이터 전달 6. 예측을 통한 성능 개선 - 비싸..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술[(1) 서론, 컴퓨터 응용 분야의 종류와 그 특성, 포스트 PC 시대, 이 책에서 우리는 어떤 것을 배울 수 있는가?, 프로그램 .. [문과 코린이의 IT기록장] 컴퓨터 구조 - 1강. 컴퓨터 추상화 및 관련 기술 [(1) 서론, 컴퓨터 응용 분야의 종류와 그 특성, 포스트 PC 시대, 이 책에서 우리는 어떤 것을 배울 수 있는가?, 프로그램 성능의 이해] 1. 서론 - 국가의 경제는 Moore의 법칙에 따라 빠르게 발전하고 있는 정보기술에 상당히 의존하고 있음 - 정보 기술 산업은 숨 가쁜 속도로 기술 혁신을 거듭하고 있고, 더 우수한 컴퓨터를 지속적으로 만들어 낼 것임. - 컴퓨터는 농업-산업혁명과 같이 제 3차 정보혁명을 가져오며, 일상생활에 근본적인 영향은 물론, 새로운 지식을 탐구하는 방법도 변화시키고 있음 - 컴퓨터 혁명은 지속되고 있는 중임. : 계산 비용이 10배 낮아지면서(메모리 연산속도가 증가하면서) 컴퓨터를 사용할 ..
[문과 코린이의 IT 기록장] C,C++ - 복사생성자( 복사생성자란?, 얕은 복사 vs 깊은 복사 ) [문과 코린이의 IT 기록장] C,C++ - 복사생성자( 복사생성자란?, 얕은 복사 vs 깊은 복사 ) 1. 복사생성자란? 1) 복사생성자 형태 : 클래스이름 (const 클래스 이름 &참조변수){ } ex) SoSimple(const SoSimple & copy){ } 2) 복사생성자로 객체 생성 방법 a. 클래스명 생성할 객체 = 이미 생성된 객체; b. 클래스명 생성할 객체(이미 생성된 객체); // 이 방법을 사용하는 것이 더 좋음. // 어처피 전자는 암묵적인 형변환이 일어나기 때문에, explict로 선언된다면 형변환이 불가능하기 때문 3) 기본 복사 생성자 - 기본적으로 제공되는 생성자 중 하나. - 객체간의 변수의 값을 복사해준다. - 호출시키는 객체의 선언과 동시에 초기화할 때 생성한다...
[문과 코린이의 IT 기록장] C,C++ - 객체배열 (객체 배열, 객체 포인터 배열) [문과 코린이의 IT 기록장] C,C++ - 객체배열 (객체 배열, 객체 포인터 배열) 1. 객체 배열 ex) 1) 객체배열 형태 : 클래스명 객체명[크기] ex. Person parr[3] - 이 객체배열이 실행될 때, 생성자가 3번 실행된다. (3개의 객체가 생기는 것이므로) - 마찬가지로, return을 만나 소멸할 경우에도, 소멸자가 3번 실행된다. 2) 동적으로 객체 배열 선언하기 Point * p1 = new Point[5]; - 동적으로 객체 배열을 선언하는 경우에도, deflat constructor을 이용해 모두 초기화된다. - 즉, 이 코드는 Point형 객체에 대한, 5개를 사용할 수 있는 메모리 공간을 동적으로 확보하고, 각 공간에 defalt constructor로 객체를 생성한다..
[문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) [문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자 ( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) 1. 클래스에 대한 이해 ex ) cf ) 61행에, month == 12? 12 : month & 12에 대한 이해 ? : - 삼항연산자 12 (참, 거짓을 판단할 변수) ? 12(참 일때 사용할 값) : month & 12(거짓일 때 사용할 값) [ 이 코드에서 클래스 관려해 중요시 봐야할 부분 ] 1. 함수의 정의와 몸통이 분리되어 있다. ex. 클래스 내부에, class Date{ ... void Setdate(int year_, int month_, int Date_) ... }; 클래스 외부에, Void Date :: SetDate..
[문과 코린이의 IT 기록장] C,C++ - new & delete (new & delete 사용방법 , new로 배열 할당하기) [문과 코린이의 IT 기록장] C,C++ - new & delete (new & delete 사용방법 , new로 배열 할당하기) [ 시작하기 전 ] - 코딩에서 메모리를 관리하는 것은 매우 중요한 문제이다. - 프로그램이 정확하게 실행되기 위해서는, 컴파일 시 모든 변수의 주소값이 확정되어야 한다. - 이와 같은 현상을 만들기 위해서는 프로그램에 많은 제약이 따르기 때문에, 프로그램 실행 시에 자유롭게 할당하고 해제할 수 있는 힙(heap)이라는 공간이 새로 생겼다. - 이 힙 상에서의 메모리 할당을 지원하기 위해, C++에서는 new & delete함수를 사용하고 있다. * new : 메모리 할당 * delete : 메모리 해제 1. new & delete 사용방법 - int *p = new int;..

반응형