헤더파일에 클래스나 함수의 선언부를 넣는 것은 다른 개발자에게이 기능을 가져다 써도 좋습니다 라고 공개적으로 알리는 행위임헤더는 일종의 사용허가서 이자, 해당 기능을 사용하기 위한 컴파일러가 알아야 할 최소한의 정보가 담긴 설계도임.따라서, 만약 특정 클래스나 함수를 라이브러리 내부에서만 사용하고, 외부 사용자에게 노출하고 싶지 않다면, 그 선언부를 헤더 파일에 넣어서는 안된다.이를 통해 기능의 사용범위를 명확히 하고, 의도치 않는 사용을 막는 설계 원칙임사용자가 클래스를 사용한다는 것의 의미사용자가 new MyClass나 MyClass obj 처럼 객체를 직접 생성하려면, 컴파일러는 해당 객체의 정확한 크기를 알아야 한다.포인터는 크기가 고정되어 있으므로, 컴파일러는 private 멤버 변수들이 무엇인..