"Java 기초 Deep하게" 스터디 하실분 구합니다.
안녕하세요.
“개발을 하다보면 항상 남이 만들어 놓은 자료구조형태 조차 제대로 파악하지 못하는 걸까“
“로직은 이해가 되는데 왜 여기서 이러한 형태로 데이터 조합 구성하는 걸까?“
“로직에 대해서 설명을 해야할 때 어… 그냥 하다보니 되었어요? 왜인지 물어보지 말아주세요.“
생각이나 상태로 있어서 남들에게 부끄러울까봐 말 못하시는 분들이 있으실까요?
이런 생각을 하다보니 구조의 이해가 부족하다 생각하여 Java에 대해서 좀더 깊게 생각해보자 해서 스터디를 할 분을 모집하고있습니다.
모집 일자 : 2026/01/17 - 2026/01/16
OT : 2026/01/18
스터디 기간 : 2026/01/31 - 206/03/01
모집 요건
“그냥 와서 Java에 정석처럼 읽으면 되겠지?” 그런 분들은 죄송합니다.
Ex) 발표자 : Deque는 “양방향 제어가 필요한 상태 관리”에 쓰는 도구다.
질문자 : 어떤부분 그렇게 생각하셨나요
발표자 : 그냥 글에 그렇게 되어있어요. 궁금하면 찾아보세요.
질문자 : ????
오프라인을 좋아하지만 온라인이 더 좋아요!
그렇다고 노쇼는 매우 좋아 하지 않습니다.
전체 팀원들이 오프라인을 좋아한다면 OK 한 사람이라도 반대한다면 오프라인입니다.
스터디 발표 : 매주 일요일 저녁 8시 디스코드 or 줌
** 아래의 주차의 소제목 및 항목이 달라도 상관없습니다.
참여 의사가 있는 분들은 아래를 참조 부탁드립니다.
kakaoLink : https://open.kakao.com/o/gyCpqjbi
pw : JAVA
모든 주차는 총 6주로 잡고 돌아가면서 각자의 아래의 주제와 같은 방식으로 발표할 생각입니다.
이후 방향성은 모든 스터디원들과 개개인의 이야기 듣고 다음 스탭을 향해 나가보려합니다.
관심 있으시면 참여부탁드립니다.
🔹 1주차 | 원시타입 vs 참조타입 (자료타입)
핵심 목표
값이 바뀌는 이유를 메모리로 설명할 수 있다
학습 포인트
원시타입 8개 정리 (byte ~ boolean)
참조타입의 정체 (주소값)
Stack / Heap 역할
값 복사 vs 참조 복사
Wrapper 클래스 (Integer, Double)
auto-boxing / unboxing
반드시 할 수 있어야 하는 것
int와Integer차이를 말로 설명메서드 인자로 객체 넘겼을 때 값이 바뀌는 이유 설명
==vsequals기본 감각
🔹 2주차 | List — ArrayList vs LinkedList
핵심 목표
“왜 이걸 선택했는지” 설명할 수 있다
학습 포인트
List 공통 특징 (순서, 중복, index)
ArrayList 내부 구조 (배열 기반)
LinkedList 내부 구조 (노드 기반)
조회 vs 삽입/삭제 성능 차이
for / iterator 차이
반드시 할 수 있어야 하는 것
“조회 많으면 ArrayList” 이유 설명
중간 삽입이 왜 느린지 설명
LinkedList가 무조건 느리다고 하면 안 되는 이유
🔹 3주차 | Queue
핵심 목표
멀티스레드 환경에서 Queue가 왜 필요한지 이해
학습 포인트
Queue 기본 개념 (FIFO)
offer / poll / peek 차이
LinkedList Queue 문제점
ConcurrentLinkedQueue 구조
반드시 할 수 있어야 하는 것
Queue가 List로 대체 불가능한 이유
동시성 환경에서 ArrayList 쓰면 안 되는 이유
“왜 이름에 Concurrent가 붙었는지” 설명
🔹 4주차 | Deque
심핵심 목표
Deque 하나로 Queue + Stack을 대체할 수 있다
학습 포인트
Deque 구조 (양방향)
offerFirst / offerLast
pollFirst / pollLast
Stack을 쓰지 말아야 하는 이유
ArrayDeque vs LinkedList Deque
반드시 할 수 있어야 하는 것
Stack 대신 Deque 쓰는 이유
실생활 예시 설명 (앞뒤로 끼어드는 상황)
ArrayDeque가 추천되는 진짜 이유
🔹 5주차 | Queue vs Deque (선택의 기준)
핵심 목표
“이 상황엔 이 자료구조”를 즉시 말한다
학습 포인트
Queue가 적합한 상황
Deque가 적합한 상황
FIFO만 필요한 경우 vs 유연한 경우
잘못 쓰면 생기는 설계 냄새
실무 예시 시뮬레이션
반드시 할 수 있어야 하는 것
Queue로 Deque를 대체 못하는 경우 설명
Deque로 Queue를 대체해도 되는 경우 설명
“이건 과설계다” 판단 가능
🔹 6주차 | Exception
핵심 목표
예외를 두려워하지 않고 설계 도구로 사용
학습 포인트
Exception 구조 (Throwable)
checked vs unchecked
RuntimeException의 의미
try-catch 남용 문제
커스텀 예외 설계 기준
반드시 할 수 있어야 하는 것
왜 RuntimeException을 쓰는지 설명
catch로 다 잡는 코드의 문제점
“이건 예외가 아니라 if다” 구분
짧으면서도 긴글 읽어주셨어 감사합니다.