티스토리 뷰

:: (범위 지정 연산자)



- 기능: `::` 연산자는 클래스, 네임스페이스, 열거형 등의 특정 범위 내에서 멤버에 접근하는 데 사용되는 연산자이다. 이는 클래스의 정적 멤버, 네임스페이스의 멤버, 열거형의 멤버 등에 접근할 때 필요하다.


- 사용 예시: `MyClass::myStaticMethod`라는 표현은 `MyClass`라는 클래스 내에 정의된 정적 메서드 `myStaticMethod`에 접근하는 것이다. 이와 유사하게, `::` 연산자는 전역 네임스페이스에 있는 함수나 변수에 접근할 때도 사용된다. 예를 들어, 전역 변수 `globalVar`에 접근하기 위해서는 `::globalVar`로 표현할 수 있다.


- 특징: 이 연산자는 객체의 인스턴스가 아닌, 클래스 자체나 네임스페이스 같은 더 큰 범위에 속한 요소에 접근할 때 사용된다.


. (점 연산자)



- 기능: `.` 연산자는 객체 인스턴스의 멤버에 접근하는 데 사용되는 연산자이다. 이는 객체가 가진 메서드나 속성에 접근할 때 쓰인다.


- 사용 예시: `myObject.myMethod()`라는 표현은 `myObject`라는 객체의 메서드 `myMethod`를 호출하는 것이다. 여기서 `myObject`는 이미 생성되어 메모리에 존재하는 객체의 인스턴스이다.


- 특징: `.` 연산자는 객체가 메모리에 실제로 존재하는 경우에만 사용되며, 객체의 인스턴스에 직접 적용된다.



요약하자면, `::` 연산자는 클래스, 네임스페이스, 열거형 등의 특정 범위 내의 멤버에 접근하는 데 사용되며, `. (점)` 연산자는 객체의 인스턴스의 멤버에 접근하는 데 사용된다. 이 두 연산자는 C++ 프로그래밍에서 서로 다른 상황과 목적에 맞게 적절히 사용되어야 한다.

반응형
Comments