저장되는 데이터의 종류
주소를 갖고 있는 바구니.
바구니에 넣을 값.
중괄호{ } 범위 내에서 정의된 변수와 함수는 중괄호{ } 범위를 벗어나면 메모리에서 해제된다.
메모리 주소를 담는 변수.
많은 양의 데이터는 그냥 복사하기보다 포인터로 참조하거나 포인터로 주소 정보만 복사하면 더 효율적.
변수에다가 같은 메모리를 사용하는 별명을 붙이는 것.
내부적으로는 포인터와 동일하게 작동함.
동일한 크기의 연속된 메모리 공간.
배열의 이름은 첫번째 원소(index 0)의 주소값을 담고 있다.
반복적으로 사용되는 코드를 묶어놓은 것.
함수 이름의 재사용.
함수 이름이 같아도 매개변수의 자료형(type) 또는 개수가 다르면 재사용할 수 있다.
객체를 만들어 내기 위한 설계도.
연관되어있는 변수와 메서드를 그룹화한 것.
설계도로 구현할 수 있는 모든 대상.
모든 인스턴스를 포함하는 포괄적인 개념.
메모리에 할당되어 구현된 구체적인 실체.
클래스라는 설계도로부터 생성된 복사본을 의미.
각 인스턴스는 서로 독립적이므로 개별로 메모리 주소를 찍어볼 수 있음.
객체가 생성되자마자 자동으로 실행되는 함수.
객체가 메모리에서 해제될 때 자동으로 실행되는 함수.
자식 클래스가 자동으로 부모의 멤버들을 갖게 되는 것.
공통적인 멤버는 부모 클래스에서 정의해서 상속받아 사용하는 것이 효율적.
외부에서 함부로 접근하면 안되는 멤버를 보호하고 은닉하는 것.
Get, Set 메소드를 사용하는 이유.
각 요소들(상수, 변수, 식, 오브젝트, 함수, 메소드 등)이 다양한 자료형(type)에 속하는 것이 허가되는 성질.
부모 클래스의 메소드를 자식 클래스에서 재정의.
부모 클래스 메소드에 virtual, 자식 클래스 메소드에 override를 붙이면 자식 클래스마다 이름은 같지만 다른 역할을 하는 메소드를 사용할 수 있다.
컴파일 시점에 어떤 함수가 호출될지 결정됨.
일반 함수에 해당.
실행 시점에 어떤 함수가 호출될지 결정됨.
가상 함수(virtual function)에 해당.
객체 별로 할당되지 않고 클래스의 모든 객체가 메모리를 공유하는 멤버.
스택 영역에 저장되지 않고 전역변수처럼 데이터 영역에 저장됨
특정 기능을 구현할 것을 약속한 추상 형식.
인터페이스의 모든 멤버는 public한 순수 가상 메소드이다.