728x90

Language 77

[C++] Java 와 C++ 유사점 및 차이

1. 유사점 - C++ 과 Java 모두 클래스의 객체를 인스터스화 하지 않는 static 메소드 또는 함수를 지원한다. - C++ 과 Java 모두 오버로딩 생성자를 제공한다. 2. 차이점 - Java는 전처리기, typedef, defined를 지원하지 않는다. - Java는 클래스(class)를 지원하지만 구조체와 공용체를 지원하지 않는다. - 모든 Java 클래스의 최상위 클래스는 Object 클래스이다. (모든 Java 클래스는 Object 클래스를 상속한다.) - interface 키워드는 Java 만 제공한다. - Java에 선언하는 모든 변수 또는 메서드는 모두 클래스 선언 내에 포함된다. - Java는 다중 상속을 지원하지 않는다. - C++ 은 배열의 범위를 초과하면 이를 판단할 수 없..

Language/C++ 2020.12.13

[C++] 동적 할당 (malloc, calloc, realloc, new)

1. new와 malloc의 차이 1) malloc()은 함수이고 new는 연산자 이다. - malloc()은 라이브러리에서 제공하는 함수, new는 C++ 언어에서 기본으로 제공하는 키워드(라이브러리 추가 없이 사용가능) 2) malloc()은 보통 사이즈를 매개변수로 받고, Return Type이 'void *' 이므로 sizeof()와 캐스트 연산을 하는 것이 좋음. new는 할당할 타입을 지정하면 알아서 할당할 Type의 포인터로 넘어온다. 3) malloc()은 메모리를 동적으로 할당하는 것이 목적이므로 초기값을 지정할 수 없지만, new의 경우 할당과 동시에 초기화가 가능하다. - new는 생성자를 자동으로 호출한다. (malloc과 new의 가장 큰 차이점) 4) malloc()의 경우에는 ..

Language/C++ 2020.12.13

[C++] const 위치에 따른 역할

1. const ? - 해당 값을 변경하지 않겠다는 의미 2. 변수에서 사용 - const char * > 상수형 문자에 대한 포인터 > 포인터가 가리키는 변수의 값을 변경할 수 없음 e.g) char ch1 = 'a'; char ch2 = 'b'; const char *pch; pch = &ch1; *pch = 'c' // Error - Read Only Location - char const * > 문자에 대한 상수형 포인터 > 포인터 값을 변경할 수 없음 e.g) char ch1 = 'a'; char ch2 = 'b'; char *const pch = &ch1; *pch = 'c'; pch = &ch2 // Error - Read Only variable - const char cosnt * > 변..

Language/C++ 2020.12.13

[C++] C / C++ 차이

1. C와 C++의 차이 - C는 절차지향적 언어 C++은 객체지향언어 - C는 변수의 선언이 함수의 선두에 선언되어야 함 C++은 변수의 선언이 자유로움. - C는 하향식 접근 방법 C++은 상향식 접근 방법 * 하향식 접근 방법과 상향식 접근 방법 1) 하향식 접근 방법 > 분석과제가 주어지고 이에 대한 해결 방법을 찾기 위해 각 과정을 단계적으로 수행. > 분석적으로 사물을 인식하려는 'why' 관점에서 접근. 2) 상향식 접근 방법 > 문제의 정의 자체가 어려운 경우 데이터를 기반으로 문제를 지속적으로 개선하는 방식 > 사물을 있는 그대로 인식하려는 'what' 관점에서 접근. > 하향식 접근 방법의 한계를 극복하기 위한 분석 방법론. 2. C++에서 추가된 기능 - 인라인 함수 (본체가 호출부에..

Language/C++ 2020.12.13
반응형