Computer Science/자료구조
-
03.포인터 배열Computer Science/자료구조 2020. 9. 16. 14:17
배열은 같은 타입의 변수가 여러 개 필요한 경우에 사용한다. int num[5] => num[0] ... num[4]까지 5개의 정수형 변수를 배열로 만든 것이다. 배열의 인덱스는 0부터 시작함에 꼭 유의한다. 포인터는 c언어에서만 사용한다. c언어에서는 메모리 효율을 높이는 것을 목적으로 포인터를 사용한다. 성능이 좋은 컴 퓨터에서는 굳이 포인터를 사용할 필요가 없다. 고성능 메모리라면 굳이 할당을 하지 않더라도 용량이 남기 때문이다. 포인터변수는 주소값만을 저장할 수 있는 변수이며 변수명을 통해 접근할 수 있다. 포인터에서 사용되는 기호는 두 가지이다. * : 주소를 저장할 수 있는 변수 선언 & : 변수가 가지고 있는 주소 값 -동적변수 공간 할당 p = (int * ) malloc(sizeof(i..
-
02. 추상자료형Computer Science/자료구조 2020. 9. 15. 10:08
대부분의 프로그래밍 언어의 자료형은 크게 두 가지로 분류할 수 있다. 첫번째는 숫자형, 이는 계산을 하기위한 목적이다. 두번째는 문자형, text형식으로 처리하는 형태이다. 추상자료형은 구현은 하지않고 추상적으로 자료형을 정의해두고 사용할 때 구현해서 사용하는 개념이다. 즉, 객체지향의 인터페이스와 같이 추상 자료형으로 정의만 하고 구현할 때 정의한 것을 불러서 사용한다. 1byte = 8bit 임을 참고하여 자료형들을 정리하면 아래와 같다. 타입 크기 값의 범위 정수형 char 8 bit (1 byte) -128 ~ +127 short 16 bit (2 byte) -32,768 ~ +32,767 int 32 bit (4 byte) -2,147,483,646 ~ +2,147,483,647 long 32 ..
-
01.객체지향 방법론Computer Science/자료구조 2020. 9. 14. 22:01
-객체지향 방법론이란? 객체를 중심으로 사고하는 체계. 복잡한 프로그래밍을 여러 개의 함수로 분리하고 함수들ㅇ르 모아두고 객체화하여 절차적 기법과 달리 재활용이 가능하다는 장점이 있다. 대표적인 언어로는 C++ 언어가 있다. -객체지향 용어 메시지, 요구사항 - 멤버변수 객체 - 변수와 방법(메소드) 정보의 은닉- 접근 제한자를 통하여 숨길 수 있다. -클래스 계층구조 하위클래스를 일반화 한 것이 상위클래스. 상위클래스의 특수한 경우가 하위 클래스. 객체지향 언어에서 클래스 간의 계층구조를 선언하는 것은 상위클래스의 속성(attribute)을 상속(inheritance)받기 위함이다 -객체지향 설계 과정 1단계. 문제를 풀기 위해 필요한 객체를 설정한다 2단계. 객체들 간의 유사속성을 파악한다 3단계. ..