본문 바로가기

자바4

톰캣 서블릿 (OSI 7계층, HTTP 서블릿, 로그인 구현) 솔직히 처음 톰캣을 접했을 때, "이걸 왜 쓰는 거지?"라는 생각부터 들었습니다. 소켓 통신으로 서버를 직접 만들 수 있다는 걸 배웠는데, 또 다른 도구를 쓴다고 하니 순간 머릿속이 복잡해졌습니다. 그런데 막상 직접 손을 대보니, 톰캣이 왜 존재하는지 자연스럽게 납득이 됐습니다. 소켓 통신부터 HTTP 파싱, 파일 입출력까지 직접 짜야 한다면 서비스 기능을 만들 시간이 없다는 걸 바로 체감했기 때문입니다.소켓 통신과 OSI 7계층, 톰캣이 필요한 이유웹 서버를 이해하려면 OSI 7계층 모델을 먼저 짚어야 합니다. OSI 7계층이란 네트워크 통신 과정을 역할별로 7단계로 나눈 국제 표준 모델로, 물리 계층부터 응용 계층까지 단계적으로 데이터를 처리합니다. 우리가 흔히 쓰는 HTTP, FTP, SSH 같은 .. 2026. 6. 20.
자바 객체지향 (추상 클래스, 인터페이스, 다형성) 자바에서 추상 클래스, 인터페이스, 다형성은 객체지향 프로그래밍의 핵심 개념 세 가지입니다. 처음 배울 때는 셋 다 비슷해 보여서 "그냥 다 추상 클래스 쓰면 안 되나?" 싶었는데, 직접 코드를 짜보고 나서야 각각의 역할이 왜 나뉘어 있는지 체감이 됐습니다.추상 클래스, 언제 쓰고 언제 안 쓰나추상 클래스(Abstract Class)는 구현되지 않은 메소드가 하나 이상 포함된 클래스를 말합니다. 여기서 추상 메소드(Abstract Method)란, 메소드 이름과 반환 타입만 선언해두고 실제 동작 코드는 비워둔 것입니다. "이런 기능이 있어야 한다"고 명세만 남겨두고, 실제 구현은 상속받는 자식 클래스에게 맡기는 구조입니다.제가 처음 이 개념을 접했을 때는 "그냥 일반 클래스에 메소드 만들면 되지, 왜 굳.. 2026. 6. 18.
자바 제네릭과 컬렉션 (Generic, Collection, 타입 안전성) 솔직히 처음에 List이나 ArrayList를 봤을 때, 저는 그냥 "그냥 따라 쓰면 되는 거 아닌가" 하고 넘겼습니다. 꺾쇠 기호가 뭘 의미하는지, 왜 굳이 타입을 저기에 적어야 하는지 제대로 이해하지 못한 채로요. 그러다 실제로 서버 코드를 짜면서 이 두 개념이 얼마나 긴밀하게 연결되어 있는지 뼈저리게 느꼈습니다.Generic — 타입을 나중에 결정하는 방식이 왜 필요한가처음 Generic을 마주했을 때 저는 "그냥 Object 타입 쓰면 되는 거 아닌가"라고 생각했습니다. 실제로 Generic 없이 컬렉션을 쓰면 아무 타입이나 넣을 수 있거든요. 그런데 이 생각이 틀렸다는 걸 실습 도중 꽤 창피하게 알게 됐습니다.Generic(제네릭)이란 클래스나 메서드를 선언할 때 타입을 고정하지 않고, 사용하는.. 2026. 6. 16.
스프링 부트 입문 (IoC/DI, JPA, Spring Security) 솔직히 처음 Spring Boot를 접했을 때 가장 당황했던 부분은 new 키워드가 없어도 객체가 알아서 생겨난다는 점이었습니다. 분명히 어디서도 객체를 만든 적이 없는데 실행하면 콘솔에 "서비스 객체 생성됨"이 찍혀 있었습니다. 이게 도대체 왜 되는 건지 이해하는 데 꽤 시간이 걸렸고, 그 과정에서 Spring Boot의 핵심이 무엇인지 조금씩 보이기 시작했습니다.IoC와 DI, 객체를 내가 안 만들어도 되는 이유Spring Boot의 핵심을 한 마디로 표현하면 제어의 역전, 즉 IoC(Inversion of Control)라고 할 수 있습니다. IoC란 객체 생성, 연결, 관리 같은 작업을 개발자가 직접 처리하지 않고 프레임워크가 대신 처리하는 방식을 말합니다. 원래 자바 코드에서는 new TestS.. 2026. 6. 14.

소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 자동식단생성 연관 블로그