목록분류 전체보기 (155)
Rootable의 개발일기

📌 상속(Inheritance)이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 자바의 문법 요소를 말한다. 상속을 통해 우리는 객체지향 프로그래밍에서 다형성을 구현할 수 있으며, 다형성을 통해 재사용성 및 확장성을 높이고 중복된 코드를 제거하는 이점을 얻을 수 있다. 이처럼 상속은 좀 더 구체적인 클래스를 구현하기 위해 사용되는 기법이며, 그로 인해 부모 클래스의 코드를 자식 클래스가 재사용할 수 있다. 하지만 상속에 대해서 다음과 같은 견해가 있었다. "내가 자바를 만들면서 가장 후회하는 일은 상속을 만든 점이다." - James Arthur Gosling의 인터뷰"상속을 위한 설계와 문서를 갖추거나 그럴 수 없다면 상속을 금지하라" - Effective Java by 조슈아 블로크"An ..

📌 Map Key와 Value를 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스 값은 중복해서 저장할 수 있지만, 키는 중복되어서는 안 된다.만약 기존에 저장된 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 최근에 저장된 값이 남게 된다.저장 순서가 유지되지 않는다. ✅ Methods MethodDescriptionvoid clear()Map의 모든 객체를 삭제boolean containsKey(Object key)지정된 key 객체와 일치하는 Map의 key 객체가 있는지 확인boolean containsValue(Object value)지정된 value 객체와 일치하는 Map의 value 객체가 있는지 확인Set entrySet()Map에 저장되어 있는 key-value 쌍을 Map.Entr..

📌 Set 인터페이스 중복되는 원소를 허용하지 않고, 저장 순서를 유지하지 않는 집합 순서 자체가 없으므로 Index로 객체를 검색해서 가져오는 get(index) 메서드가 존재하지 않으며, 중복 저장이 불가능하므로 null 값도 하나만 저장할 수 있다. 🔍 Methods 📖 종류 ✅ HashSet Hash 기능과 Set 컬렉션이 합쳐진 자료구조 배열과 연결 노드를 결합한 자료구조 형태로 Hash에 의해 데이터의 위치를 특정시켜 데이터를 빠르게 검색할 수 있다. 그래서 가장 빠른 임의 검색 속도를 가졌고, 추가/삭제/검색/접근성이 모두 뛰어나다. 마찬가지로 저장 순서가 없고 중복을 허용하지 않는다. ex) 중복 닉네임 검사 ✅ LinkedHashSet 순서를 가지는 Set Link + Hash ..

A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to this class.더욱 완전하고 일관된 LIFO 스택 작업은 Deque 인터페이스 및 해당 구현을 사용하여 구현하는 것이다.ref: https://docs.oracle.com/javase/8/docs/api/ 공식 문서를 보면 LIFO 구조를 구현할 때, Stack이 아닌 Deque를 사용하라고 한다. 그래서 Stack의 어떤 문제점 때문에 Deque를 사용해야 하는지 그 장점은 무엇인지 알아보고자 한다. 💥 Stack의 ..