학습내용
Chapter1-5 class 개념 복습
class의 정의 C++에서 프로그래밍을 구현할때 작동하는것에 대해 초점을 맞추게 되면
작동부인 main 함수에서 코드가 꼬이거나 추가입력사항이 생길때 연관된 코드들을 일일이 다 수정해주어야 한다. 하지만 class를 사용하게되면 세부사항을 따로 구현을 해놓고 작동부에서 호출하여 작동만해주면 된다. 그렇게 되면은 수정사항이 생긴다면 class 내부세부사항만 변경을 해주면 되기때문에 class를 사용하면 객체지향프로그래밍의 장점을 살릴 수 있다.
class 를 사용하는 이유중 두번째인 접근제어는, class를 사용하지 않고 구현시 중요 구현부가 노출이 될 수 있다. "ex) 자동차의 속도만 제어하면 되지만 접근제어를 하지 않을시 자동차의 엔진 자체를 건드릴 수 있다." 때문에 접근제어를 사용하여 작동부에 필요한 부분만 노출시켜서 사용이 가능하다.
getter와 setter class 내부에서 구현을 하면 접근제어를 지정하게되는데, 접근제한이 된 변수를 수정해야하는 상황이 생긴다. 그럴경우 그 변수에 직접적으로 접근하여 수정하게되면, 치명적인 문제가 생길 수 있어서, getter와 setter 를 이용하여 간접적으로 접근하여 수정할 수 있다.
데이터를 안전하게 다루기 위한 목적이다.
생성자란, 클래스가 인스턴스화 했을때 최초로 한번 시행되는 함수를 말한다. 생성자를 이용해서 우리가 구현한 클래스가 인스턴스화 할때 기본적으로 전달할 정보들을 안전하게 전달할 수 있다.
헤더파일과 cpp c++에선 헤더파일과 cpp 파일 두가지를 생성해서 사용하는데, 그 이유는 앞서 설명한 사용자는 세부사항은 사용할때 있어서 알 필요가 없는 부분이기 때문에 헤더파일과 cpp 파일로 분리 한뒤 헤더파일을 필요할경우 제공받아 사용하는 형태로 사용한다. 또, 함수의 선언과 정의가 동시에 되어있는 파일이 두개 이상 필요할경우 중복정의가 발생할 수 있기때문에 분리해서 사용할 경우 그런 문제를 피할 수 있다.