ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • contents
    학교 수업/객체지향프로그래밍 2020. 4. 15. 20:29

    과거 배웠던, 객체지향프로그래밍1.2의 내용을 요약해봤다.


    객체지향프로그래밍


    1. 기본 데이터 자료형


     

    자료형

    크기

    범위

    문자형

    char

    1Byte, 8bit

    -128 ~ 127

     unsigned char0 ~ 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()연산자

       - 피연산자의 크기를 바이트 단위로 계산하는 연산자.

       - 사용법?

    1
    2
    3
    int num = 10;
    Printf(“%d”,sizeof(num));  //결과 : 4
    Printf(“%d”,sizeof(int));  //결과 : 4
    cs


    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;

       - 연산자

         ① & : 변수의 주소 값 반환

         ② * : 포인터가 가리키는 메모리 참조

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    int a;
    int *p;
    = 10;
    = &a; //p가 정수형 변수 a를 가리킴
    cout << *//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 연산자 사용

    1
    2
    3
    4
    5
    int *ptr = new int;
    *ptr = 10;
    int *arr = new int[3];
    delete ptr;
    delete []arr;
    cs

        - c언어에서 할당 : malloc()

      해제 : free()

    1
    2
    3
    4
    5
    6
    #include <stdlib.h>    // malloc, free 함수가 선언된 헤더 파일
    int * a;
    = (int *)malloc(sizeof(int));
    *= 10;
    free(a);
     
    cs


    11. const(상수) 멤버 변수

    1
    2
    const int val = 100;
    val = 10//-> error 발생

    cs

       - 변수와 달리 const로 지정하면 값을 절대로 바꿀 수 없다.

       - 만일, 클래스 내에 상수 멤버가 있다면 상수 멤버는 멤버초기자 기호 (:)를 통해 초기화가 가능하다.

         생성자 함수 내부 코드에서는 초기화 불가.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class 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


    '학교 수업 > 객체지향프로그래밍' 카테고리의 다른 글

    객체지향프로그래밍  (0) 2020.04.16

    댓글

Designed by Tistory.