반응형 자료구조 알고리즘 자바2 equals()와 ==의 차이는 값 비교 vs 참조 비교 📌 1️⃣ data.get(i) == x비교하는 것:두 객체의 메모리 주소 (참조값, 레퍼런스) 를 비교함.즉, 두 객체가 "물리적으로 같은 객체인가?" 를 비교함.예시:Point2 a = new Point2(1, 2);Point2 b = new Point2(1, 2);System.out.println(a == b); // false (주소 다름)a와 b는 값이 같아도 서로 다른 객체 → 주소 다름 → == 결과는 false.📌 2️⃣ data.get(i).equals(x)비교하는 것:두 객체가 가지고 있는 값의 내용이 같은가? 를 비교함.즉, ix, iy가 같은지 비교하도록 Point2 클래스에서 equals()를 오버라이딩 했기 때문에 동작함.예시:Point2 a = new Point2(1, 2.. 2025. 6. 9. 스택 Stack 접시 쌓기 LIFO 큐 Queue 줄 서기 FIFO 자바 자료구조 알고리즘 📌 스택 (Stack) — "접시 쌓기"비유우리가 식당에서 접시를 쌓아두는 모습을 생각해보자.새 접시는 항상 위에 올려.꺼낼 때는 위에서부터 꺼내.이걸 LIFO (Last In, First Out, 마지막에 들어간 것이 먼저 나온다) 라고 해.예시 상황웹 브라우저의 "뒤로가기"프로그램의 함수 호출 (Call Stack)기본 동작동작설명push()데이터를 위에 올린다 (넣기)pop()위에 있는 데이터를 꺼낸다 (빼기)peek()가장 위의 데이터가 뭔지 확인 📌 스택 (Stack) — 접시 쌓기 (LIFO) [ Top ] ┌───────┐ ← 마지막 넣은 것 (먼저 나온다: pop) │ 데이터3 │ ├───────┤ │ 데이터2 │ ├───────┤ │ 데이터1 │ ← 처음 넣은.. 2025. 6. 9. 이전 1 다음 반응형