-
contents학교 수업/객체지향프로그래밍 2020. 4. 15. 20:29
과거 배웠던, 객체지향프로그래밍1.2의 내용을 요약해봤다.
객체지향프로그래밍
1. 기본 데이터 자료형
자료형
크기
범위
문자형
char
1Byte, 8bit
-128 ~ 127
unsigned char 0 ~ 255 정수형
short
2Byte, 16bit
-32,768 ~ 32,767
unsigned short
0 ~ 65,535
int
4Byte, 32bit
-2,147,483,648 ~ 2,147,483,647
unsigned int
0 ~ 4,294,967,295
long long
8Byte, 64bit
-9,223,372,036,854,775,808 ~
9,223,372,036,854,775,807
unsigned long long
0 ~ 18,446,744,073,709,551,615
논리형
bool
1Byte, 8bit
True or False
실수형
float
4Byte, 32bit
+/- 3.4e ~ +/-38 (~7 digits)
double
8Byte, 64bit
+/- 1.7e ~ +/- 308 (~15digits)
2. sizeof()연산자
- 피연산자의 크기를 바이트 단위로 계산하는 연산자.
- 사용법?
123int num = 10;Printf(“%d”,sizeof(num)); //결과 : 4Printf(“%d”,sizeof(int)); //결과 : 4cs 3. 표준입출력
- 출력 std::cout << 출력 대상;
- 입력 std::cin >> 변수;
- 개행 std::endl;
4. 연산자 종류
① 대입 & 산술
기타 대입 연산자
② 증가 감소 연산자
③ 관계 연산자 : 두 피연산자의 관계 (크다, 작다 혹은 같다)를 따지는 연산자. True(1), False(0)반환
④ 논리 연산자 : and, or, not을 표현하는 연산자. True(1), False(0)반환
T = True, F = False
⑤ 비트 단위 연산자 : ~, &, ^, |, <<, >>
5. 제어문 : if, if ~elseif ~else, switch, for, while, do ~ while, break, continue
6. 배열
- 배열 선언 : 자료형/ 배열이름/ 배열길이 순
Ex) int arr[10];
- 배열 이름은 포인터 상수이다.
- 배열 크기 (Byte) = 배열의 요소 개수 * sizeof(배열의 자료형)
7. 함수
- 특정 기능을 처리하기 위한 명령을 묶어 놓은 작은 프로그램 단위
- 함수 사용의 장점?
① 반복적으로 실행될 내용을 필요할 때마다 호출 가능.
② 프로그램이 모듈화(블록화)되어 읽기 쉽고, 디버그와 편집이 쉬움.
③ 프로그램의 기능과 구조를 한 눈에 알아보기 쉬움.
- 종류 ① 라이브러리 함수 : 컴파일러를 제작한 곳에서 미리 만들어 제공하는 함수, include로 헤더파일 가져와 사용.
② 사용자 정의 함수
8. 포인터자료형
- 메모리 주소 참조를 위한 자료형
- 선언 : 포인터 변수가 가리키는 데이터의 데이터형/ 포인터 참조 연산자 * / 포인터 변수
Ex) int * val;
- 연산자
① & : 변수의 주소 값 반환
② * : 포인터가 가리키는 메모리 참조
123456789101112131415int a;int *p;a = 10;p = &a; //p가 정수형 변수 a를 가리킴cout << *p //10출력//int array[3] 배열에서// array[0] array[1] array[2] 값가져올때// *p *(p+1) *(p+2)// &Array[0] &array[1] &array[2] 주소가져올때// p (p+1) (p+2)int arr[3] = {0,1,2};int *ptr = arr;cout<< ptr[0] << ptr[1] << ptr[2]; //012출력cs 9. 객체지향 프로그래밍 ★ -> 내용이 길어 다음 포스팅에서 다룬다.
10. 동적메모리
- 실행 도중 필요한 메모리를 할당 받아 사용하고, 나중에 메모리를 다시 풀어주는 방법
- 할당 : new 연산자 사용
- 해제 : delete 연산자 사용
12345int *ptr = new int;*ptr = 10;int *arr = new int[3];delete ptr;delete []arr;cs - c언어에서 할당 : malloc()
해제 : free()
123456#include <stdlib.h> // malloc, free 함수가 선언된 헤더 파일int * a;a = (int *)malloc(sizeof(int));*a = 10;free(a);cs 11. const(상수) 멤버 변수
12const int val = 100;val = 10; //-> error 발생- 변수와 달리 const로 지정하면 값을 절대로 바꿀 수 없다.
- 만일, 클래스 내에 상수 멤버가 있다면 상수 멤버는 멤버초기자 기호 (:)를 통해 초기화가 가능하다.
생성자 함수 내부 코드에서는 초기화 불가.
12345678910111213class Person{private:char mouth[30] ;const int height ; //상수멤버변수public:Person(int phei, char pmouth[30]) : height(phei){//height = phei ; //compiler error 상수멤버변수이므로strcpy(mouth , pmouth) ;}}cs