[ C++ ] 객체지향 언어 C++ | C++ 주석, namespace 예제, 데이터 타입, C++ 출력하기

2021. 3. 9. 10:40·Archive/Develop
728x90
반응형

 

 

 

이미지 출처 : https://ko.wikipedia.org/wiki/C%2B%2B

 

 

 

 

C++ 언어의 표준

 

1998년 미국 표준원인 ANSI 에서 C++ 언어에 대한 표준이 설정되었다.

 

 

C언어를 설계한 주요 목적

 

  • C와의 호환성이 좋다.
  • 실행 시간의 효율성 저하를 최소화한다.
  • 엄격한 타입체크
  • 객체지향 개념 도입

 

 

C언어에 추가한 기능

 

  • 함수 중복 : 매개 변수의 개수나 타입이 다른 동일한 이름의 함수들 선언
  • 디폴트 매개변수 : 매개 변수에 디폴트 값이 전달되도록 함수 선언
  • 참조와 참조 변수
  • 참조에 의한 호출
  • new/delete 연산자
  • 연산자 재정의 : 기존 C++ 연산자에 대한 추가된 정의
  • 제네릭 함수와 클래스 : 데이터 타입에 의존하지 않고 일반화시킨 함수나 클래스 작성 가능

 

 

C ++ 객체 지향 특성 - 캡슐화

 

캡슐화

 

데이터를 캡슐로 싸서 외부의 접근으로부터 보호

C++에서 클래스로 캡슐을 표현한다.

 

 

C ++ 객체 지향 특성 - 상속

 

C ++ 객체 지향 특성 - 다형성

 

다형성

 

: 하나의 기능이 경우에 따라 다르게 보이거나 다르게 작동하는 현상

 

함수뿐만 아니라 연산자도 오버로딩 가능하다.

 

 

 

C ++ 은 C 언어와 호환성을 추구한다.

 

장점 : 기존에 개발된 C 프로그램 코드를 활용가능하다.

 

단점 : 캡슐화의 원칙이 무너진다.

 

따라서 C++에서 전역변수와 전역 함수를 사용할 수 밖에 없고, 부작용이 발생할 수 있다.

 

 

 

 

C++ 맛보기

 

 

기존 C 코드

#include<stdio.h>

int main() {
	printf("Hello World!");
	return 0;
}

 

 

#include<iostream>

int x = 10; // 전역변수

int main() { // 운영체제에서 가장 먼저 호출하는 함수
	std::cout << "Hello World!"; //printf("Hello World!");
	return 0;
}

//표준화 되기 전에는 void main(){} 으로 사용하기도 했었지만, 지금은 표준화 되었다.

 

#include<iostream>

int x = 10; // 전역변수

int main() { // 운영체제에서 가장 먼저 호출하는 함수
    std::cout << "Hello World!" << std::endl;
    std::cout << "hihi";
    return 0;
}

 

줄바꿈은 위와 같이 표현할 수 있는데, std:: 이거 너무 쓰기 귀찮다? 그렇다면 아래같이 작성할 수도 있다.

 

 

#include<iostream>
using namespace std; // std: cout, endl, cin 등등

int main() { // 운영체제에서 가장 먼저 호출하는 함수
    cout << "Hello World!" << endl;
    cout << "hihi";
    return 0;
}

 

 

 

namespace 만들기

 

 

프로젝트 규모가 커지고, 여러 사람이 같은 프로젝트를 개발하다 보면,

함수 이름이나 변수이름이 충돌이 발생할 수 있다.

 

따라서 이름 충돌을 해결하기 위해 namespace 키워드를 이용한다.

 

std 는 C++ 표준에서 정의한 이름 공간 중 하나이고,

 

std:: 을 생략하고 싶다면, using 지시어를 사용하면 된다.

 

 

 

#include<iostream>
using namespace std; // std: cout, endl, cin 등등
namespace kim {
    int a;
    void show() {}
}
int main() { // 운영체제에서 가장 먼저 호출하는 함수
    cout << "Hello World!" << endl;
    cout << "hihi";

    kim::a = 100;
    cout << kim::a << endl;

    return 0;
}

 

 

 

C++ 주석

 

여러 줄 주석 /* */

한 줄 주석 //

 

 

 

main 에서 개발자의 편의를 위해 return 0 는 생략 가능하다.

 

 

C++ 데이터 타입

 

  • bool : c 에 비해 하나 더 생겼다!
  • char
  • short
  • int
  • long
  • float
  • double

 

 

 

 

728x90
반응형

'Archive > Develop' 카테고리의 다른 글

[ CodeUp ] Python 기초 100제 | 6007 번 풀이  (0) 2021.03.10
[ C++ ] C++ 포인터 | C++ 로또 , 랜덤 숫자, 최대값 구하기  (0) 2021.03.09
[ Oracle ] 변환함수 (to_char, to_number, to_date)  (0) 2021.03.08
[ 인공지능 ] Google Colab 이란? | Colab 사용하기 | Colab 기초 사용법  (3) 2021.03.08
[ Oracle ] Oracle scott 스키마 설치하기 | 제약 조건 설정하기 | 제약조건 스키마 | 제약 조건 확인하기  (0) 2021.03.08
'Archive/Develop' 카테고리의 다른 글
  • [ CodeUp ] Python 기초 100제 | 6007 번 풀이
  • [ C++ ] C++ 포인터 | C++ 로또 , 랜덤 숫자, 최대값 구하기
  • [ Oracle ] 변환함수 (to_char, to_number, to_date)
  • [ 인공지능 ] Google Colab 이란? | Colab 사용하기 | Colab 기초 사용법
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    코드업 파이썬 기초 100제
    oracle db
    코드업
    비박스
    오라클
    javascript
    자바스크립트
    백준
    Git
    파이썬 백준
    장고
    카카오 100일 프로젝트
    Django
    백준 파이썬
    코드업 기초
    C++
    docker
    Oracle
    Codeup
    보안뉴스
    파이썬 알고리즘
    파이썬
    백준 문제풀이
    파이썬 기초 문제
    자바스크립트 API
    Python
    파이썬 기초
    자바스크립트 객체
    백준 풀이
    파이썬 문제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
[ C++ ] 객체지향 언어 C++ | C++ 주석, namespace 예제, 데이터 타입, C++ 출력하기
상단으로

티스토리툴바