오늘 클래스를 만들고 그 클래스 안에 여러 함수를 구현하는걸 중심적으로 공부했다. 하기 전에, 먼저 클래스가 무엇인지부터 이해하는 것이 중요했기 때문에 개념부터 확실히 잡고 들어가고 싶었다. 클래스는 설계도와 같고 이 설계도를 바탕으로 실제 인스턴스를 만들어야 한다는 개념인데, 이전까지는 구조체를 이용하여 작성했지만 클래스를 통해 여러 기능을 하나의 그룹으로 묶어 체계적으로 관리할 수 있다는 점이 아주 아주 흥미로웠다.
ExerciseManager
라는 클래스를 만들고 그 안에 운동 시간, 몸무게 비교, 운동 가능 여부 등을 여러 함수를 넣음으로서 코드가 훨씬 깔끔하게 보였다. 만약 클래스가 없다면 이 모든 것들을 따로 관리해야 했을 텐데 클래스 덕분에 관련된 기능들을 한 곳에 모아 둘 수 있어 편리했다.그리고 마지막엔 구문을 통해서 클래스를 인스턴스화하는 과정도 알게 되었는데 그 동안 그저 따라쳤던 것들이 이해가 되는 순간이라 많이 설렜다.
처음엔 왜 이렇게 해야 하는지 이해가 되지 않았는데 클래스는 그냥 자체로는 '설계도'일 뿐이었고, 실제로 사용하려면 인스턴스를 만들어야 한다는 점에서 자동차 공장과 설계도 비유가 기억에 잘 남아있다.
그리고 다양한 연산자를 사용해봤는데 비교 연산자, 논리 연산자, 범위 연산자, 그리고 삼항 연산자를 사용해 조건을 처리하는 방법도 연습할 수 있었다.
그 중 삼항 연산자는 if-else
문을 더 간결하게 표현할 수 있고 코드가 짧아지는 장점이 있다는 것 또한 알게 됐다. 그저 막연하게 과제 문제만 보고 이 연산자들이 복잡하게 느껴졌지만, 하나씩 적용하면서 실제로 어떻게 동작하는지 확인해보니 점점 익숙해지는 듯 ? 하다.
전체적으로 과제를 통해서 무언가 큰 프로그램을 만들 때 이렇게 체계적으로 관리하는 것이 얼마나 중요한지 조금이나마 알게 되었다.
그리고 다양한 연산자를 활용해 조건을 처리하는 방법도 처음보다 익숙해졌고 앞으로 더 복잡한 프로그램을 작성할 때 클래스와 연산자를 적절히 활용해보고 싶다는 생각도 들었다.
전체적으로 오늘 좀 만족스럽다.