250109 TIL

유은호·2025년 1월 10일

이번 계산기 과제를 진행하면서 조금이라도 머뭇거림이 있었던 부분

Lv2에서 Calculator 클래스를 만들어서 App 클래스에서 생성하여 사용할 때, 연산오류 즉, 0으로 나누거나 연산기호입력이 잘못되었을때 오류 메세지를 클래스간 넘기는 방법에 대해

처음엔 입력을 받고 거기서 유효성 검사를 처리하려 했으나 그럴경우 APP클래스에서도 사칙연산부호확인을 Calculator클래스에서도 연산을 위해 한번더 확인해야하는 중복코드가 존재할 수 있어 예외처리에 대한 고민을 함.

예외를 던질 수 있는 기능이 존재하고 있다는 건 알고 있었으나 제대로 사용하는 방법을 몰라, 검색 후 try, catch, throw를 구현하여 예외처리 추가 (예외처리를 새로 만든것이 아닌 기본 탑재되어있는 exception으로 처리)
※후에 강의 4주차에서 내용 발견

Lv3는 3문항 다 문제부터 이해하기가 쉽지 않았음 하지만 첫번째 것을 제외하고는 의도하는 바가 파악되니 문제 없이 풀 수 있었음.

Lv3 Enum 관련하여 지금까지 사용해오던 Enum과는 많은 부분이 달랐음. 강의에서도 딱히 사용법에 대해 설명해주는 것이 없었고, 기본적으로 직접 검색과 공부를 통해 알아가는 도전과제인가 생각하게 만들어주었음.
하단의 링크를 통해 enum에 대해 클래스와 비슷하게 사용할 수 있다는 점, 하지만 enum은 상수와 같이 고정된 값을 이용하고 컴파일 시 메모리에 올라가 있어야하기때문에 Static을 이용해서 구현해야한다는 점을 배워 활용

https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%97%B4%EA%B1%B0%ED%98%95Enum-%ED%83%80%EC%9E%85-%EB%AC%B8%EB%B2%95-%ED%99%9C%EC%9A%A9-%EC%A0%95%EB%A6%AC

0개의 댓글