개발공부/JAVA
코테할때 필수로 알아야하는 자바 자료구조 메소드 정리
2025.10.10
파이썬은 append, pop, in, sorted 같은 직관적인 함수로 다 해결되지만,자바는 컬렉션 프레임워크(Collection Framework) 라는 체계 속에서각 자료구조마다 고유 메서드를 명시적으로 써야 한다.이 글은 “파이썬 감각으로 코테 풀던 사람이 자바로 전환할 때 꼭 외워야 하는 핵심 20개 메서드”만 정리한 것이다. 🔸 ArrayList (리스트) 동작 자바 파이썬 대응 추가list.add(e)list.append(e)조회list.get(i)list[i]수정list.set(i, e)list[i] = e삭제list.remove(i)del list[i]길이list.size()len(list) 예시List list = new ArrayList();list.add("apple");l..
개발공부/JAVA
Java HashMap 완전 정복: equals()와 hashCode()의 모든 것
2025.10.09
들어가며"HashMap? 그냥 map.put(), map.get() 쓰면 되는 거 아니야?"수업에서는 이렇게만 배우지만, 막상 내가 만든 클래스를 Key로 사용하려고 하면 이상하게 작동합니다. 이 글에서는 HashMap의 내부 동작 원리부터 equals(), hashCode()까지 처음부터 끝까지 정리해보겠습니다. 1. HashMap이란? (Hash + Map)Map: Key-Value 저장소Map map = new HashMap();map.put("사과", 1000);map.put("바나나", 2000);int price = map.get("사과"); // 1000 Map은 단순히 "Key로 Value를 찾는" 자료구조입니다.Hash: 빠른 검색의 비밀그런데 왜 HashMap일까요? 바로 해시 함수를..
개발공부/SpringBoot
영속성 컨텍스트(Persistence Context) 완벽 정리
2025.10.09
1. 영속성 컨텍스트란?영속성 컨텍스트(Persistence Context) 는 JPA에서 엔티티를 영구 저장하는 환경을 의미합니다. 쉽게 말해, 엔티티 객체들을 관리하는 일종의 "논리적인 저장 공간" 입니다.애플리케이션과 데이터베이스 사이에 위치하여 엔티티의 생명주기를 관리하고, 데이터베이스와의 동기화를 담당하는 중간 계층 역할을 합니다.핵심 개념EntityManager를 통해 영속성 컨텍스트에 접근엔티티를 영속 상태로 만들면 영속성 컨텍스트에 보관됨트랜잭션 단위로 생명주기가 관리됨 (Spring 환경 기준) // EntityManager를 통한 영속성 컨텍스트 접근EntityManager em = entityManagerFactory.createEntityManager();EntityTransacti..
개발공부/SpringBoot
JPA, Hibernate, ORM, Entity 개념 완전정리
2025.10.08
백엔드 공부를 하다 보면 “JPA”, “Hibernate”, “ORM”, “Entity” 같은 단어가 자주 나온다.처음 보면 다 비슷비슷해 보이지만, 사실은 계층적으로 연결된 개념이다.이 글에서는 그 관계를 명확히 정리해본다. 1️⃣ ORM(Object Relational Mapping)ORM은 객체와 관계형 데이터베이스를 자동으로 매핑해주는 개념이다.기존에는 JDBC를 써서 SQL을 직접 작성하고 ResultSet을 자바 객체로 변환해야 했다.ORM은 이 과정을 자동화한다.즉, 객체를 저장하면 SQL INSERT가 실행되고,객체를 조회하면 SQL SELECT가 실행된다.👉 한마디로 ORM은 “객체지향적으로 DB를 다루는 기술” 이다. 2️⃣ JPA(Java Persistence API)JPA는 자바 ..
개발공부/기초 CS
직렬화와 역직렬화 완전정리
2025.10.08
1️⃣ 직렬화란?직렬화(Serialization) 는 “객체를 바이트 형태로 변환하여 저장하거나 전송할 수 있게 만드는 과정”을 말한다.즉, 메모리 위의 객체를 파일, DB, 네트워크를 통해 주고받을 수 있는 형태로 바꾸는 것이다.💬 쉽게 말하면: “객체를 통째로 USB에 담는 기술”객체 = 사람 / 직렬화 = 포장 / 전송 = 택배 보내기 2️⃣ 역직렬화란?역직렬화(Deserialization) 는 직렬화된 데이터를 다시 객체로 복원하는 과정이다.즉, 네트워크로 받은 바이트 데이터를 자바 객체로 되돌려주는 것이다. 3️⃣ 왜 필요한가?네트워크 통신: 클라이언트 ↔ 서버 간 객체 전송 (예: REST API, Socket 통신)파일 저장/복원: 객체 상태를 파일로 저장 후 다시 불러오기캐싱: Redis..