본문 바로가기

Study63

[C++] 클래스와 객체 1. 객체 - 캡슐화 : 객체의 구성 요소들을 캡슐로 싸서 보호하고 볼 수 없게 하는 것 - 객체는 캡슐화를 통해 외부의 접근을 통제해 자신의 내부 요소를 보호함 1) 캡슐화 - 실세계나 C++ 프로그램이나 구성 객체들이 상호 통신하며 시스템이 구동된다 - 캡슐화로 정보들을 보호할 수 있게 접근을 막지만 모든 요소를 차단하면 안된다 정보를 교환하고 통신하기 위해 일부 요소를 노출시켜야 된다 2) 멤버 변수 & 멤버 함수 - 객체는 상태와 행동으로 구성되어 있음 - 상태 = 멤버 변수 - 행동 = 멤버 함수 - 멤버 변수(상태)를 알고 싶다면 멤버 함수(행동)를 호출해야 된다 3) 클래스와 객체 (1) 클래스 (붕어빵 틀) - 객체를 만들어내기 위해 정의된 설계도, 틀 - 클래스는 객체도 실제도 아님 - .. 2020. 5. 24.
컴퓨터 구조 - 메모리 구조와 레지스터 1. 메모리 구조 - 프로그램을 실행시키기 위해 메모리 공간이 필요함 - 프로그램을 실행시킬 때 가장 먼저 프로그램이 메모리에 로드 됨 - 메모리 공간은 코드, 데이터, 스택, 힙 영역으로 나뉜다 1) 코드(텍스트) 영역 - 실행할 프로그램의 소스 코드가 저장되어 있는 영역 - 실행 파일을 구성하는 명령어(함수, 제어문, 상수 등)들이 저장된다 - 저장된 명령어를 CPU에서 하나씩 가져가 처리한다 2) 데이터 영역 - 전역변수와 static 변수, 배열, 구조체 등이 할당되는 영역 - 프로그램 시작과 동시에 할당되고 프로그램이 종료되어야 메모리가 소멸하는 영역 - 초기에 사용할 메모리를 확보 - 초기화 된 데이터는 data영역에 저장 - 초기화 되지 않은 데이터는 BSS(Block Stated Symbo.. 2020. 5. 23.
컴퓨터 구조 - 명령어를 효과적으로 실행하기 위한 기법 1. 주소 지정 방식 - 주소 : 주기억자치에서 데이터가 저장된 위치 - 주소 지정 방식 : 주소를 지정하는 방식 - 유효 주소 : 데이터가 저장된 기억장치의 실제 주소 1) 직접 주소 지정 방식 EA = A (유효 주소 = 기억장치 주소) - 가장 일반적인 개념의 간단한 주소 방식 - 오퍼랜드 필드의 내용이 유효 주소가 되는 방식 - 얻은 데이터의 기억장치 주소를 가리킨다 - 장점 · 데이터 인출을 위해 오퍼랜드에 저장된 해당 주소의 기억 장치에 한번만 액세스 · 명령어 형식이 간단함 - 단점 · 연산 코드를 제외하고 남은 비트들이 주소 비트로 사용되기 때문에 지정할 수 있는 기억장소의 수가 제한됨 · 많은 수의 주소를 지정할 수 없음 2) 간접 주소 지정 방식 EA = (A) (유효 주소 = 기억 장.. 2020. 5. 23.
컴퓨터 구조 - 어셈블리 언어 1. 컴퓨터 프로그래밍 언어 1) 상위 프로그래밍 언어 - 컴파일러나 인터프린터에 의해 기계어로 번역 - 사람이 이해하기 쉬움 - C, C++ 2) 하위 프로그래밍 언어 - 하드웨어와 가까워진 언어 - 기계어, 어셈블리어 2. 어셈블리 언어 - 기계어를 사람이 사용하는 언어에 가깝게 문자로 기호화 - 중앙처리장치에 따라 어셈블리 언어의 형식이 다르다 - 어셈블러 : 어셈블리 언어를 번역해 오브젝트 코드를 생성하는 프로그램 1) 어셈블리 명령어 레이블 부 : 연산부 오퍼랜드 부 ; 주석부 (1) 레이블 부 - JUMP, LOOP와 같은 순환/반복 명령에서 CPU 실행을 해당 레이블로 이동시킬 때 사용 - 레이블을 생성할 때는 8문자 이내의 영문자/숫자를 사용 - 이름 중 공백이 있으면 안됨 (2) 연산 부.. 2020. 4. 18.
컴퓨터 구조 - 데이터의 표현과 컴퓨터 연산 1. 컴퓨터 정보의 표현 1) 비트 bit : 컴퓨터 정보 표현의 기초 단위로 2진법에서 데이터를 표현하는 단위 ( 0 / 1 ) 2) 바이트 byte : 비트들로 구성된 정보 표현 단위 (8bit = 1byte) 3) 워드 word : 바이트들로 구성된 정보 표현 단위 (1word = 2byte 혹은 4byte) 4) 10진법 : 인간이 사용하는 수의 체계 (0~9를 이용) 5) 2진법 : 컴퓨터에서 사용하는 수의 체계 (0과 1을 이용) 6) 16진법 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F를 이용 2. 2진 정수 표현 1) 10진수를 부호가 없는 2진수로 변환 - 10진수 값을 2로 연속해 나눠 획득되는 나머지 값을 이용해 부호 없는 2진수로 변환 2).. 2020. 4. 18.
컴퓨터 구조 - 컴퓨터 구성요소 (하드웨어) 1) 중앙처리장치 (CPU) 컴퓨터의 두뇌로, 컴퓨터 시스템 전체를 제어하는 장치 입력장치에서 받은 데이터를 처리해 출력장치와 기억장치로 보내는 과정을 수행 CPU 내에 여러 레지스터가 있음 (1) 산술 연산 장지 (ALU) 산술 및 부울 논리 연산기 (Arithmetic and Boolean Logic) 덧셈, 뺄셈과 같은 사칙연산을 수행 AND, OR, NOT과 같은 논리연산을 수행해 참 거짓 판단 상태 플러그 (Status Flags) 장치 내의 데이터 상태를 표시함 음수, 0, 오버플로우 표시 이동기 (Shiffer) 데이터 비트를 좌우로 비트 별로 이동 비트의 이동은 2로 곱셈하거나 나눗셈하는 것으로 해석함 보수기 (Complmenter) 연산장치 내의 보수 연산을 수행 덧셈이나 뺄셈을 사용할 .. 2020. 4. 12.