2024. 9. 11. 08:55ㆍJava,Kotlin
※ 계산기 만들기
- Lv.1 클래스없이 계산기 만들기
- Lv.2 클래스 사용하여 계산기 만들기
- Lv.3 Enum, 제네릭, 람다 & 스트림을 활용한 계산기 만들기
1) 레벨2 Getter, Setter 메소드 호출에 대한 트러블 슈팅
1-1) 개요
ㄴ Getter, Setter 메소드를 제대로 불러오지 못하는 현상.
1-2) 배경
ㄴ 레벨2 요구사항 중 Calculator클래스에서 생성한 컬렉션필드에 대하여 메인메서드를 실행하는 App클래스에서 직접적인 접근을 막고 간접적인 접근으로 변경해야하는 상황에서 발생.
1-3) 발단
ㄴ 인텔리제이에서 Oracle OpenJDK 22.0.2 버전을 사용중이며, Calculator 클래스에서 생성한 컬렉션필드를 private 제어자로 세팅하고, Getter, Setter메소드로 각각 컬렉션필드에 연산결과 저장, 컬렉션필드 전체목록 조회 기능을 만든 후, App클래스에서 사용시 기능 작동이 안함.
1-4) 전개
ㄴ 에러는 없으며 getter,setter 메서드도 정상적으로 호출되고 있음.
1-5) 위기
ㄴpublic으로 컬렉션필드 객체를 직접 호출해서 add, toString 메서드 사용시에는 정상 작동했었음.
1-6) 절정
ㄴ 본인의 실수였음 getter, setter메서드를 생성하고 App클래스에서 사용할때 출력을 하고 있는 것으로 착각했으나, 출력 자체를 하고 있지 않았음.
1-7) 결말
ㄴ 트러블 슈팅이라고 작성하는 것도 좀 민망한 부분이 아닌가라는 생각을 했습니다. 값이 제대로 출력되지 않는 전의 상황까지 잘 생각은했으나, 좀 더 생각을 해서 다양한 경우의 수로 생각을 했으면 어땠을까란 생각을 했습니다.
2) 레벨3 Enum 및 람다식
1-1) 개요
ㄴ Enum 사용법의 대한 무지와 계산식에 대한 고민
1-2) 배경
ㄴ 레벨3 요구사항 중 Enum으로 연산기호를 관리하고 람다식을 추가로 활용하여 연산기호 입력없이 숫자입력으로만 연산이 되도록 하는 메서드 생성시 발생
1-3) 발단
ㄴ Enum으로 각 텍스트에 값을 넣고 싶은데 이상한 방식으로 선언해서 에러 발생 / 연산기호가 들어가야하는 switch문이나 if문으로만 사고의 방향이 가서 전혀 생각 못하고 있었음.
1-4) 전개
ㄴ enum에서 텍스트로만 선언했을땐 정상이나, 값을 넣으려고할때 에러가 나는것을 확인
1-5) 위기
ㄴenum 출력방법을 알아내서 확인
1-6) 절정
ㄴ enum도 결국은 클래스의 개념으로 추가로 생성자를 선언해줘야했지만 그러지 못했음.
ㄴ 람다식에 대하여 찾아보고 사용해야할 방법 등 응용방법등을 알아냄. Enum에서 람다식으로 처리하고 해당되는 함수형인터페이스를 활용해서 값을 처리했어야했다.
1-7) 결말
ㄴ Enum의 사용법과 람다식 사용, BiFunction사용 등을 활용한 메서드 생성
ㄴ 여러 검색을 통해서 구성하고, 중간 중간에 직접 출력해보면서 진행을 하고 연산기호 입력 없이 정상 출력이 되었다.
※ 최종
ㄴ 이번 과제에서 요구사항들에 대해서 100% 이해하고 진행하진 못했다고 생각이 든다.
ㄴ 시간이 있을때 학습해서 개념들을 탄탄히 다시 잡고 가야겠다고 생각했다.
'Java,Kotlin' 카테고리의 다른 글
[8] Java/Kotlin - Java 2차 개인과제 트러블 슈팅 (2) | 2024.09.24 |
---|---|
[7] Java/Kotlin - java 2차 개인과제 (1차) (4) | 2024.09.23 |
[5] Java/Kotlin - java 1차 개인과제 (0) | 2024.09.11 |
[4] Java/Kotlin - java문법 2주차 과제 (0) | 2024.09.03 |
[3] Java/Kotlin - java문법 1주차 과제 (4) | 2024.09.02 |