본문 바로가기

분류 전체보기32

17일차) 알고리즘, 키오스크 과제 리팩토링 Today I Learned 👩🏽‍💻- 알고리즘 26, 27, 28번- 키오스크 도전 Lv1 + 리팩토링 진행중 ..오늘은 알고리즘 3문제 풀이와 키오스크 과제 레벨1 마무리, 리팩토링까지 진행하였다.레벨2도 도전하고 싶지만 시간상 우선 리팩토링을 먼저 했다..!!장바구니 기능이 들어오면서 반복문과 조건문이 거의 3배 늘어나서 이 부분을 어떻게 리팩토링하면 좋을지 알아봤다. ❗️반복문- 중첩 반복문 최소화: 별도의 메서드로 분리하거나 스트림 API를 활용하여 단순화 - for-each 사용for (String item : array) { System.out.println(item);} - 스트림 API 활용List result = new ArrayList();for (String item : .. 2024. 11. 27.
14일차) 자바 동등성과 동일성 , equals()와 hashCode() 오늘 진행된 세션의 주제는 동등성과 동일성에 대한 내용이었다.동등성, 동일성이라는 개념 이름(?)은 생소했는데 세션을 들으니 객체 비교와 관련된 나도 조금 아는 개념이었다.자바에서 보통 비교를 할 때 숫자는 == 을 사용하고, 문자열 비교는 equals 사용했는데 이것이 동등성과 동일성 개념인 것..!문자열 비교는 == 을 사용하면 주소값을 가져오므로 equals를 사용한다. 까지만 알고 자세히는 몰랐다. 하지만 이번 세션을 들으며 동등성과 동일성에 대해 배우고, equals()와 hashCode()의 연관성을 알게되었다. 👍🏼 2024.11.22 - [JAVA] - 동등성과 동일성 동등성과 동일성❓ a와 b를 == 으로 비교하는 것과 같이 Book 두 가지 객체를 == 으로 비교하면 false가 나.. 2024. 11. 22.
동등성과 동일성 ❓ a와 b를 == 으로 비교하는 것과 같이 Book 두 가지 객체를 == 으로 비교하면 false가 나온다. 왜일까??  💾  메모리 구조int a, b, c는 메모리 구조 중에서 메서드 영역에 저장된다.Book 객체는 메모리 구조 중에서 힙 영역에 저장된다. a, b, c는 메모리 영역안에 직접 값이 저장되어 있지만, bookA, bookB, bookC는 데이터를 저장하지 않고 객체의 위치 주소를 저장하고 있다. 이러한 bookA, bookB, bookC 를 참조 변수라 한다.  * 참조 변수- 객체의 메모리 주소를 저장 -> 힙 영역에 저장된 객체를 가리키는 역할을 한다. 그래서 System.out.println(bookA) 를 실행하면 메모리 주소 값이 출력이 되며, == 으로 객체 비교를 하면.. 2024. 11. 22.
Java 계산기 과제 - level 2 트러블슈팅 레벨1에서는 클래스없이 계산기 기능을 구현했다면, 레벨2에서는 클래스를 적용해서 연산을 수행할 수 있는 계산기를 만드는 단계이다.자바 문법 강의 3주차 숙제로 이런 비슷한 계산기를 만들어봤어서 크게 어렵지는 않았다.고민이 되었던 부분은 결과값을 저장하는 컬렉션을 어떤 걸로 선택할지였다. 컬렉션에 결과값을 저장하기도 하고, 저장된 결과값 중 가장 먼저 저장된 데이터를 삭제해야한다.가장 먼저 저장된 데이터를 꺼내서 삭제하는 건 FIFO 식으로 데이터를 다루는 큐 Queue가 적합할 것 이라 생각했다. FIFO과 LIFO 모두 동작할 수 있는 Deque도 고려했지만 Queue를 한 번 다뤄보고싶어서 결과적으로는 Queue를 선택했다. (만약 최근 결과값에 이어서 연산할 예정이라면 deque나 stack이 필요.. 2024. 11. 20.