클래스 정리 1

킴스코딩클럽·2023년 1월 21일
1

CS기초 시리즈

목록 보기
69/71
용어정리
클래스멤버 변수,함수들의 집합인 데이터 형식 객체를 위한 추상적인 설계도
객체상태와 행동을 하나로 묶은 프로그래밍적 개념의 구체적인 대상
인스턴스추상적 클래스에서 구체적인 객체를 생성하는 과정 객체랑 같은 말
접근 제한자public(클래스 내외부 모두 사용) private(클래스 내부만)
protected(클래스 내부 + 파생 클래스에서 사용)
캡슐화기본적으로 정보 은닉(어떤 정보가 있는지 모르게 하기위함)이 목적
정보 은닉불필요한 정보를 가림
범위 해결 연산자클래스명::멤버 함수
소속 클래스를 명시해주는 기능
상수 멤버 함수함수 뒤에 const를 붙인 형태
이 경우 함수 내부에서 멤버의 값을 변경하지 않겠다는 의미
오류 방지를 위해서 const를 적극 활용
값을 가져오는 Getters함수에서 주로 사용됨
this 포인터객체가 자시기 자신을 받을때 사용됨
모든 멤버 함수에는 this 포인터가 있음
속성멤버 변수로의 직접 접근을 막고 멤버 함수로 간접 접근하게 하는 방법
Getters/Setters에서 자주 활용됨
생성자객체가 생성될 때 자동으로 불려지는 것
소멸자객체가 사라질 때 자동으로 불림
생성자를 하나라도 생성해주면 자동으로 불리지 않음 직접 설정해야함
유니폼 초기화c++ 모든 객체에서 모두 작동하는 초기화 방법 형변환이 허용되지 않음
초기화 리스트생성자를 사용한 객체 생성시 멤버 변수를 초기화하는 방법
: x1{1},x2{2}
class VS struct구조체는 모든 멤버가 public인 클래스
(c++에서는 함수도 가능)
정적 멤버객체에 속하는 다른 멤버 변수들과 다르게 클래스에서 바로 사용할 수 있는 특징을 가진 멤버
복사 생성자객체를 인자로 넘겨주어 초기화하기 위해서 객체를 복사하는 생성자 기본적으로 c++컴파일러가 복사 생성자를 만들어줌
얕은 복사 VS 깊은 복사값만 넘겨주는 얕은 복사 실제 메모리를 할당하는 깊은 복사(소유권 문제 해결 가능)
연산자 오버로딩피연산자를 객체의 멤버 변수에서 객체 자체를 받아들이게 만드는 것
상속(파생)부모 클래스의 기능을 물려받음
class 클래스명 : 접근제한자 클래스명
baseClass, derivedClassbaseClass(부모 클래스)
derivedClass(부모 클래스에서 상속(파생)된 클래스)
overriding부모 클래스의 멤버 함수와 이름 매개변수 반환값이 같은 자식 클래스에서 재정의 하는 것
polymorphism개념상 자식 클래스는 부모 클래스의 특성을 가지고 있음 그래서 자식 클래스를 부모 클래스로 처리하는 기능 가상함수와 포인터를 활용해 생성함
virtual function자식 클래스에서 재정의 할 것으로 기대(런타임에 어떤 함수를 사용할지 결정)하는 멤버 함수로 함수 앞ㄷ에 virtual 키워드를 붙임
virtual destructor상속 받은 클래스의 소멸자는 자동으로 불리지 않아 자동으로 해제되지 않음 이를 방지하기 위해서 부모 클래스의 소멸자를 가상 소멸자로 만들어야함
profile
공부 기록용

0개의 댓글