개요
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 |