스택(Stack) : 후입선출이라는 개념을 가진 자료구조이다.
삭제(pop)은 최상단에서만 이뤄진다.
비어있는 스택에서 추출을 시도할 경우 > 스택 언더플로우
꽉차있는 스택에서 추가를 시도할 셩우 > 스택 오버플로우
대표적 활용 사례 : 스택 메모리, 브라우저 뒤로 가기, 언두 기능, 수식 괄호 검사 등
자바에서 스택 활용
Stack이라는 클래스가 있지만, Dequq 인터페이스 구현체를 사용하는것이 권장
왜? Stack클래스는 내부적으로 Vector를 상속받음. 이는 인덱스를 통한 접근, 삭제가 가능해져거 후입선출의 개념이 사라짐
왜? 백터 메소드들은 synchronized로 구현되어 멀티 스레드 환경에서는 이점이 있으나, 단일 스레드에서는 불필요한 동기화로 성능 낮음.
'cs(with 매일메일)' 카테고리의 다른 글
| [251029수] HTTPS에 대해서 설명해주세요 (0) | 2025.10.29 |
|---|---|
| [251028화] WAS와 웹서버의 차이점은 무엇인가요? (0) | 2025.10.29 |
| [251024금] 서버 사이드 렌더링과 클라이언트 사이드 렌더링의 차이점은 무엇인가요? (0) | 2025.10.24 |
| [251023목] Connection Timeout, Socket Timeout, Read Timeout의 차이점은 무엇인가요? (0) | 2025.10.23 |
| [251022수] private 메서드에서 @Transactional 선언하면 트랜잭션이 동작할까요? (0) | 2025.10.23 |