클래스가 왜 필요한가 ?
우리가 성적관리 프로그램을 만든다고 가정했을 때,
과목의 개수가 늘어나면 함수의 호출 방식이 변경됩니다.
또한 , 성적관리를 하는 데이터가 모두에게 노출되어 있어 다른 코드와 혼용되어서
문제가 발생될 수 있습니다 !!!
다시말해!!! 성적관리 프로그램을 유지하고 보수하는 비용이 많이 늘어납니다.
그래서 나온것이 클래스 문법입니다.
class문법은 동작을 공개하고 세부 데이터는 공개하지 않습니다.
그래서 변화에 유연함을 보입니다.
class는 크게 동작과 데이터로 구성되는데
데이터의 값을 담는 곳을 멤버변수라고 하고 , 클래스의 동작을 멤버함수라고 합니다.
클래스는 내부에서 멤버함수를 구현할 수 도 있고,
외부에서 멤버함수를 구현할 수 있습니다.
다만 주의해야할 것은
클래스가 끝난 후 Student :: 라는 문법을 사용해서 클래스외부에서 재 정의 해야합니다.
class는 사용자에게 접근을 허용여부를 제어가 가능한데,
접근제어는 크게 public과 private가 있습니다.
아무것도 작성하지 않으면 접근제어는 디폴트로 private가 되며
private는 외부에서 접근 시 에러가 발생합니다.
한 클래스내에서 내부적으로 private값을 참조하는 것은 가능합니다.
우리는 이 점을 이용해 getter와 setter를 만들어
외부적으로 private 변수를 제어 할 수 있게 할겁니다 !!
해당 사진에서 보면 getMathScore함수에서는 내부적으로 private의 변수값을
참조 할 수 있기때문에 return값으로 math를 보내줍니다.
하지만 값을 설정하는것은 다릅니다. 따라서 우리는 math값을 설정하기 위해서 !
this -> math라는 매서드를 사용해야합니다.
이 매서드는 해당 클래스 내에서 math값을 변경할 수 있게 합니다.
다음은 class의 생성자에 대해서 알아보겠습니다.
생성자란 객체가 생성될 때 한번 호출되는 것으로
보통 필요한 멤버 변수를 초기화하거나 객체가 동작할 준비를 하기 위해 사용합니다.
생성자는 반환형이 없고, class이름과 같은 함수 입니다.
내일은 해당 생성자를 좀 더 깊게 다뤄볼 예정입니다 !!
'TIL' 카테고리의 다른 글
2024/12/26 TIL : 가상함수와 메모리할당 (0) | 2024.12.26 |
---|---|
2024/12/24 TIL : 생성자 (1) | 2024.12.24 |
2024/12/18 TIL : 블루프린트로 게임 로직 만들어보기 ! (2) | 2024.12.18 |
2024/12/17 TIL : Unreal과 친해지기 (0) | 2024.12.17 |
2024/12/16 TIL : 나만의용어 정리 (3) | 2024.12.16 |