JAVA Programming/JAVA 개념 정리

JAVA와 c++의 차이점

psy_er 2021. 9. 24. 01:13
728x90

JAVA와 c++의 차이점

 

JAVA와 다르게 bool 데이터를 정의할 때 0또는 0이 아닌 모든 값으로 false/ true를 지정할 수 있다. c++ 블록 내 어디서든지 지역변수를 선언 할 수 있다. 사용할 변수 이름을 다소 명확하게 할 수 있지만, 선언된 변수를 일괄적으로 보기 어렵다. c보다 더 type checking이 엄격하게 일어나 인수가 없을 때 매개변수 리스트에 void는 선택사항이다. 반환값이 있다고 선언된 함수는 반드시 값을 반환해주어야하고 함수에 반환 자료형이 명시되지 않으면 int형이라고 가정된다.

 

 

오류의 종류

 

컴파일 시간 오류는 컴파일 과정에서 생긴 문법적인 오류이다. 논리 오류는 컴파일 성공 후 프로그램을 실행하면서 잘못된 결과를 내는 경우에 생기는 오류이다. 실행시간 오류는 프로그램 실행 중에 예상치 못한 이유로 비정상적으로 종료되는 것이다. 잘 작성된 프로그램은 실행시간 오류가 가능한 한 발생하지 않아야한다.

 

 

c++ 디버깅

 

메인 함수는 c++ 컴파일러에게 프로그램 진입점으로 인식하게 하는 함수이다. 하나의 실행 프로그램은 반드시 하나의 main() 함수만을 가져야 한다. main()함수가 종료되면 프로그램이 종료된다. 리턴 타입은 관례적으로 정상 종료시 0을 반환한다. 생략 가능하나 명시적으로 써주는 버릇을 들이자. 원래는 매개변수도 가진다.

 

C 헤더를 C++ 표준 헤더 형식으로 변환하는 방법은 헤더 이름앞에 c를 추가하고 뒤의 .h를 제거하는 방식이다. C++이 컴파일 단계와 링크 단계로 구성된 이유는 다수의 소스 파일로 구성된 프로그램에서 변경되지 않은 소스 코드의 재컴파일을 방지하여 컴파일 효율성을 높이기 위해서이다.

 

728x90

스크림 객체

 

스크림 객체는 정보를 생산하거나 소비하는 논리적 장치이다. 입출력 스트림 객체는 입출력 시스템에 의해 물리적 장치와 연결된다. 물리적 장치가 다르더라도 같은 방식으로 동작한다. 특성이 다른 장치를 일관된 입출력 인터페이스로 사용한다. 입출력 스트림 클래스에 정의를 하는 것은 istreamostream 클래스이다. #include <iostream> iostream 파일은 확장자 없는 텍스트 파일이다. 컴파일러가 설치된 폴더 아래 include 폴더에 존재한다. 출력대상은 결과값을 갖는 표현식이다. 입력대상은 값을 가지는 대입 값이다. 출력 데이터의 성격에 따라서 적절한 형식으로 자동 출력된다. 하나의 출력문에 중첩된 출력 연산자 사용으로 다중 출력이 가능하다.

 

 

네임 스페이스

 

네임스페이스는 특정 공간에 이름을 붙여 주기 위한 문법 요소이다. 식별자의 이름을 지역화하여 충돌을 피하기 위해 사용한다. 이름공간 지정시 범위지정 연산자를 사용한다. 동일한 네임스페이스에 정의된 함수 호출시에는 네임스페이스 명시가 불필요하다. 이름 공간의 중첩이 가능하다. 표준 라이브러리에 대한 헤더 포함시 그 내용은 모두 ‘std 네임스페이스에 포함되어 있다.

 

728x90

'JAVA Programming > JAVA 개념 정리' 카테고리의 다른 글

JAVA 클래스 상속  (1) 2021.11.10
JAVA 캡슐화 정보은닉  (12) 2021.09.26
JAVA의 조상 C++  (4) 2021.09.23
JAVA instance static 메서드 오버 로딩  (1) 2021.09.22
JAVA 응용 프로그램의 기본 구조  (3) 2021.09.21