2026/03 4

위클리 페이퍼 - 4주차

Spring Framework가 탄생하게 된 배경과 이를 통해 해결하고자 했던 문제점에 대해 설명하세요. - Spring Framework가 탄생하게 된 배경은 2000년대 초반 자바 엔터프라이즈 개발의 복잡성과 무거움에 대한 반작용에서 비롯되었다. - 탄생 배경1. J2EE(Java 2 Enterprise Edition)의 복잡성 1990년대 후반 ~ 2000년대 초반, 기업용 애플리케이션 개발에 사용되던 표준은 J2EE (지금의 Jakarta EE) 였다.J2EE는 다음과 같은 구성 요소를 포함함:EJB (Enterprise JavaBeans)JSP, ServletJNDI, JMS, JTA 등 J2EE의 문제점EJB는 너무 무겁고 복잡했으며, 단순한 작업에도 많은 설정과 자원 요구가 있었음.비즈니스 ..

위클리 페이퍼 - 3주차

HashSet의 내부 동작 방식과 중복 제거 메커니즘을 설명하고, HashSet이 효율적인 중복 체크를 할 수 있는 이유를 설명해주세요. HashSet이란?Java의 java.util 패키지에 있는 Set 인터페이스의 구현체 중 하나로, 중복을 허용하지 않고, 순서를 보장하지 않는 컬렉션이다. HashSet의 핵심 특징중복허용 X같은 값이 두 번 저장되지 않음 (equals() & hashCode()로 판단)순서 보장 X저장한 순서를 유지하지 않음null 허용 Onull 값을 1개 저장 가능검색 속도 빠름내부적으로 HashMap 기반으로 구현되어 탐색/삽입 속도가 빠름정렬 안됨정렬된 상태가 필요하면 TreeSet이나 LinkedHashSet 사용 1. HashSet의 내부 구조public class Ha..

위클리 페이퍼 - 2주차

1. 객체지향 프로그래밍에서 '단일 책임 원칙(SRP)'과 '개방-폐쇄 원칙(OCP)'에 대해 설명하고, 각각의 원칙을 적용한 코드 예시를 들어주세요.'단일 책임 원칙(SRP)'핵심 개념하나의 클래스(또는 모듈)는 단 하나의 변경 이유만 가져야 함.클래스는 하나의 역할(기능) 에만 집중해야 한다.'개방-폐쇄 원칙(OCP)'핵심 개념새로운 기능은 기존 코드를 변경하지 않고 확장으로 구현해야 한다.코드를 수정하지 않고도 기능을 추가할 수 있어야 안정적인 시스템 구축이 가능하다.요약 정리원칙의미목적핵심 전략SRP(단일 책임)하나의 클래스는 하나의 책임만 가져야 한다.변경 이유 분리, 응집도 상승기능을 모듈별로 분리OCP(개방-폐쇄)확장에는 열려 있고 변경에는 닫혀 있어야 한다.안정적 확장 가능인터페이스, 다형..

위클리 페이퍼 - 1주차

git rebase와 git merge의 차이점을 설명하고, 각각 어떤 상황에서 사용하는 것이 적절한지 설명해주세요.git rebase와 git merge는 모두 브랜치를 통합하는 방법이지만, 작동 방식과 결과가 다르다.Git Merge브랜치를 그대로 병합하면서 공통 조상 이후의 변경사항을 합친다..merge commit이라는 새로운 커밋이 생성되어 브랜치가 합쳐짐.예시git checkout maingit merge feature히스토리 예A---B---C main \ D---E feature | merge commit장점:히스토리를 보존해 팀원 작업 흐름 추적 가능충돌 해결도 한 번만단점:히스토리가 복잡해질 수 있음 (병합 커밋 많아짐)Git rebase..