[객체지향 프로그래밍]_[C++]
ch01. C++언어 기본
[절차지향 프로그래밍]
- 주어진 작업을 함수들로 분리하여 처리
[객체지향 프로그래밍]
- 주어진 작업을 객체들로 분리하여 처리
- 최대목표 = ‘코드의 재사용’
* C++: C언어에 객체지향 프로그래밍 기능을 추가해서 만든 언어 (C언어와의 호환성O)
<C++>: 기계어 코드를 생성하기 때문에 다른 종류의 컴퓨터에서는 실행 불가능
-> 빠른 속도 실행 O, 고성능 소프트웨어에 유리
<Java, C#> : 가상 기계 코드를 생성하기 때문에 다른 종류의 컴퓨터에서도 바로 실행 O
-> 이식성 있는 프로그램 작성에 유리
[C++ 프로그램 개발 단계]
-텍스트 에디터로 소스파일(.cpp 파일) 작성 -> 컴파일 -> 실행파일(.exe 파일) -> 실행
[비주얼 스튜디오 사용]
-소스코드,데이터가 모여서 ‘하나의 프로젝트’가 되고,
여러 개의 프로젝트가 모여서 ‘하나의 솔루션’이 된다.
프로젝트 생성 -> 소스파일 작성 -> 컴파일.빌드 -> 프로그램 실행
[예제 C++ 프로그램 분석]
#include <iostream> //표준 입출력 헤더파일 (cin, cout객체 포함)
using namespace std; //이름 공간 설정
int main()
{
cout << "Hello World!" << endl;
return 0;
}
using namespace std;
-C++ 프로그램에서는 식별자 이름들은 ‘이름공간(namespace)’ 영역으로 분리 저장함
-C++에서 기본적으로 이름 사용 시 ->( 공간 :: 이름 )
->공간명을 이름 앞에 붙여야 이름 사용 가능함 O
-매번 공간명과 함께 사용하여 이름 사용하기 번거롭기 때문에
우리가 현재 사용하는이름 공간을 std로 설정하여 std안의 모든 이름을 그냥 사용할 수 있게 만듬
cout << “Hello World!” << endl;
-cout : 콘솔 화면에 데이터 출력하는 작업 객체
<<연산자 : cout객체와 함께 사용하여 출력 가능
-endl : 줄바꿈 제어 문자. end of line
return 0;
-해당 함수 작업 끝내고 결과를 반환
-return 0 ; // 정상 종료 시 사용
01-1. 변수와 자료형
[변수] : 데이터(값)을 저장하는 공간
[자료형] : 데이터의 종류
정수형, 부동소수점형, 문자형,부울형
[문자형]
-char 자료형 -> 하나의 문자 저장하는 변수 정의 가능
[문자열]
-C++은 문자열을 위한 string타입 제공
-[#include <string> ] : 헤더파일 포함시켜야 string 사용 O
[기호 상수]
const 변수선언 -> 상수 선언
const 변수에 한 번 저장된 변수 값은 이후에 변경될 수 없다
[auto 키워드]
-자료형을 생략할 때 사용하는 키워드
-변수. 함수 선언 시 초기값 주기 전에 선언해줄 자료형이 생각나지 않으면 auto로 선언
---> auto 키워드로 선언해두면
컴파일러는 이후에 해당 변수or함수에 저장되는 초깃값을 보고 자동 타입 추론 O
01-2. 출력과 입력
[출력]
-cout : 콘솔에 데이터 출력 작업을 맡은 객체
<< 연산자를 함께 사용하여 ‘출력 대상’을 받고 출력 //<<연산자 여러 번 이어서 사용도 O
-endl : 출력 시, 줄바꿈 제어 문자
[입력]
-cin : 키보드로부터 데이터 입력 받는 객체
>> 연산자 함께 사용하여 ‘입력값’을 받는다.
01-3. 수식과 연산자
[산술 연산자] : +, -, *, /, %
[증감 연산자] : ++, --
[관계 연산자]
-두 개의 피연산자 비교하는데 사용
-관계연산자의 결과값 : T or F (Bool형)
==, != , >, < .<=, >=
[논리 연산자]
&& (AND연산자) : 두 피연산자 모두 참일 때만 T반환
|| (OR연산자) : 한 피연산자라도 참이면 T반환
! (NOT연산자) : 피연산자 값 반대로
'C++, C언어 > [문법]_C++' 카테고리의 다른 글
C++_2주차_정리 (0) | 2021.12.20 |
---|---|
C++_1주차_정리 (0) | 2021.12.20 |
C++ 객체지향프로그래밍_Ch04정리 (0) | 2021.09.27 |
C++ 객체지향프로그래밍_Ch03정리 (0) | 2021.09.13 |
C++ 객체지향프로그래밍_Ch02정리 (0) | 2021.09.13 |