개요

C++ 프로그래밍의 레퍼런스(Reference)와 포인터의 차이와 클래스(Class)에 대한 기본적인 이야기

 

 


레퍼런스

러페런스 (Reference) 는 포인터 타입처럼 간접 참조를 위한 타입이다.

* 간접 참조 : 어떤 객체를 경유해서 원하는 객체에 접근하는 것

 

레퍼런스와 포인터의 대표적인 차이점

Reference Pointer
' & ' 을 사용하여 표현

int& reference = number;

변수의 주소값을 표기하지 않아도 된다.
' * ' 을 사용하여 표현

int* pointer = &number;

변수의 주소값을 표기해줘야 한다.
Null 값이 포함될 수 없다.

Null값이 포함될 수 없기 때문에
초기화가 반드시 필요하다.
Null 값이 포함될 수 있다.

Null 값의 포인터를 반환하지 않도록
예외처리가 필요하다.
reference = 10;

역참조 연산자를 사용할 필요가 없다.
*pointer = 10;

역참조 연산자( * )을 사용해야 한다.

 

레퍼런스는 간접 참조를 더욱 편리하게 사용하기 위해 만들어졌다.

 


클래스

클래스 타입

클래스 (Class) 는 객체지향 프로그래밍에서 객체의 청사진이라 할 수 있다.

C++에서는 클래스를 클래스 타입으로 구분한다.

 

클래스는 맴버 변수맴버 함수를 가질 수 있다.

클래스 내부에서 선언된 식별자들은 클래스 범위 (Class Scope)의 생존 범위를 가진다.

 

클래스 타입은 기본 타입과 동일하게 변수를 정의할 수 있다.

정의된 클래스타입의 변수는 클래스에 대한 인스턴스 (Instance) 라고 한다.

 

클래스의 접근 지정자 : public , protected , private

 

728x90

'Program > C (C++,C#)' 카테고리의 다른 글

[C++] Class 상속  (0) 2022.06.02
[C++] Class 기본 함수  (1) 2022.06.02
객체지향 프로그래밍  (0) 2022.05.30
[C] 스택 프레임과 호출 규약  (0) 2022.05.30
[C] 구조체 ( Structure )  (0) 2022.05.30

+ Recent posts