본문 바로가기
C++

C++ namespace ~~~ 객체

by ADELA_J 2023. 5. 19.

namespace kitae

 

1. if void f(x) (kitae.cpp) / void f() (mike.cpp)

> 함수충돌됨

2. namespace kitae { ~~~~ }  

   #include "mike.h"          ▶ "" 는 사용자가 만든거 <> 는 기존에 있는거

   >> 개발자 폴더에 있는지 봐야함.

void f() {~~~~ }  >> 기태꺼쓰게되고

  void m () {

f();

mike f(); >>> 마이크가 만든거 쓰게됨

    

 

>> c - 스트링으로 문자열 다루기

strcmp(), strlen(), strcpy() 등 대표적인 함수의 원형이 선언되어있다.

#include<cstring>이나 <string.h> 로 

 

<iostream> 헤더파일 > <istream> 헤더파일 > <ostream> 헤더파일 > <ios> 헤더파일

 

- 헤더파일의 확장자

.h >> c에서 건너오느거 c/c++ 프로그램에서 사용가능

확장자 없음 >> c++ 에서만 사용가능 using namespace std; 와 함께 사용해야함.

 

 

전역 변수 : namespace / class 구분하지 않고 모든 영역에서 사용할 수 있는 변수나 함수를 하나로 쓸 수 있는  (물론 main내에서) ex. cin / cout etc. 어디서든 사용 가능

로컬 변수 : 

 

 

-객체

표준으로 만드는게 클래스(상태 + function 이 포함되어있음.). 

클래스는 붕어빵을 찍어내는 틀.

찍어내진 것들이 객체(붕어빵).

- 캡슐화

객체의 본질적인 특성. 그 안에 들어가있는것을 보호하기 위해서 만든것.

목적 : 객체 내 데이터에 대한 보안, 보호, 외부 접근 제한

- 객체의 일부분 공개

 : 외부와의 인터페이스(정보 교환 및 통신)을 위해 객체의 일부분 공개

 : TV에서는 on/off버튼, 밝기 조절, 채널 조절, 음량 조절 등 리모콘 객체와 통신하기 위함.

객체 ( 상태 + 행동 )으로 구성

- 클래스 : 객체를 만들어내기 위해 정의된 설계도, 틀

 :클래스는 객체가 아니다. 실체도 아니고, 멤버 변수와 멤버함수 선언

 : 객체는 틀 역할이지 실행이 되지는 않는다.

 

- 객체 : 객체는 생성될 때 클래스의 모양을 그대로 가지고 탄생

: 멤버 변수와 멤버 함수로 구성

: 메모리에 생성, 실체(instance) (>> 메모리에 올라가있는 상태, 실행이 될 수 있는 모양이 갖춰졌을때)라고도 부름

: 하나의 클래스 틀에서 찍어낸 여러 개의 객체 생성 가능

: 객체들은 상호 별도의 공간에 생성.

 

 

class TV {

bool on;

int channel;

int volume;

 

public:

void(액션만 함) powerOn() {...}

void(액션만 함) powerOff() {...} >> 이런식 

 >> 요것이 TV클래스

 

 

클래스 선언부와 클래스 구현부로 구성

 

클래스 선언부 > class 키워드를 이용해 클래스 선언

멤버 변수와 멤버 함수 선언

멤버함순는 포로토타입 형태로 선언

멤버에 대한 접근 권한 지정 (private, public, protected 중의 하나)

- 디폴트는 private

- public : 다른 모든 클래스나 객체에서 멤버의 접근이 가능함을 표시

 

클래스 구현부 >> 클래스를 가져와서 실행하는 것 , 주로 메인에 있음. 

 

 

 

 

 

 

'C++' 카테고리의 다른 글

노래 인기도 데이터 군집 분석_메뉴얼  (0) 2024.02.20
C++ 기초 예제 풀이  (0) 2023.05.19
C++  (0) 2023.05.18
C++  (0) 2023.05.18