_

Always be tactful

멋쟁이사자처럼 8

[🦁3] 객체 지향 설계: OOP

시청할 것우아한객체지향이번 주 키워드 정리상속(Inheritance) vs 조합(Composition)1. 상속(Inheritance)부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 방식코드 재사용성이 높지만, 부모 클래스에 종속되어 강한 결합(High Coupling) 발생부모 클래스가 변경되면 자식 클래스에도 영향을 미쳐 유지보수가 어려워질 수 있음2. 조합(Composition)기존 클래스를 포함(Has-A 관계)하여 기능을 재사용하는 방식강한 결합을 피할 수 있어 유지보수가 용이하고 유연성이 높음상속보다 유연하며, 런타임 시 객체를 변경할 수도 있음🚀 언제 사용해야 할까?상속: 명확한 "is-a" 관계(예: Car is a Vehicle)조합: 유연한 "has-a" 관계(예: Car has..

고독한 개발 일기 #1

스프링이 뭔지도 모르는 이의 엉망진창 개발 일지입니다.읽지 않는 것을 추천드리오나, 고통에 몸부림치는 뉴비의 일기장이 궁금하다면 말리지 않습니다.2025-03-231:57 프로그램을 짤 때, 일단 컨트롤러부터 만든다고 한다.그래서 controller 패키지에 있던 ReservationController를 열었다. 가장 먼저, 필요한 어노테이션을 작성하라는 문구가 보였다.일단 컨트롤러니까 컨트롤러라고 명시했다.@Controller메서드에서 HTML 파일을 반환할 때 사용한다더라.지금 내가 갖고 있는 `index.html`이나 `revervation_form.html` 말하는 것 같다. 만약에 JSON을 반환해야 한다면 @RestController를 써야 한다더라.물론 이번 프로젝트는 웹 페이지를 렌더링하는..

[🦁2] Web App & Spring MVC #2

이번 포스트에서는 `스프링 MVC 동작 원리와 구현`을 다룹니다.학습 순서웹 애플리케이션 기본 원리스프링 MVC 동작 원리와 구현 📍 객체 지향 설계 원칙 (다음 주 예정)📚 세부 학습 순서Spring MVC 동작 원리DispatcherServlet의 역할 & 동작 방식Controller, View Resolver와의 관계Spring MVC 요청 처리 흐름 (Controller → Service → Repository)Spring을 활용한 REST API 구현REST의 특징 (HTTP 메서드, REST 제약 조건)@RestController와 REST API 구현Spring MVC 동작 원리DispatcherServlet의 역할 & 동작 방식  Spring MVC의 핵심 컴포넌트라고 할 수 있는 Di..

[🦁2] Web App & Spring MVC #1

이번 포스트에서는 `웹 애플리케이션 기본 원리`를 다룹니다.학습 순서웹 애플리케이션 기본 원리 📍 스프링 MVC 동작 원리와 구현객체 지향 설계 원칙 (다음 주 예정)*본 포스트에서 `더보기`는 추가 설명임📚 세부 학습 순서웹 애플리케이션의 기본 원리웹 애플리케이션프로토콜 (HTTP, HTTPS)Web Server와 WAS3계층 아키텍처스케일링 (아키텍처의 확장)웹 애플리케이션의 기본 원리웹 애플리케이션 🔹 Web App이란 `클라이언트`와 `서버` 간의 상호작용을 통해 동작하는 애플리케이션이다.클라이언트: 주로 사용자가 요청하는 `웹 브라우저`서버: 요청을 처리하는 `웹 서버`와 `WAS`🔹 웹 애플리케이션은 주로 `HTTP 프로토콜`을 이용하여 데이터를 주고받는다.클라이언트(웹 브라우저)가 U..

[🦁1] Git & GitHub

깃은 형상관리 시스템이다.학습 순서  기본적인 Git 사용법 → 변경 사항 관리 → 협업 & 고급 기능이번 주 키워드Working Directorygit reset & git revertgit stashConflictgit rebasecherry-pick1. Working Directory  우선, 깃의 추적 여부에 따라 `Untracked`와 `Tracked`로 나뉨. 여기서 깃의 추적이라고 함은 깃이 관리하는 파일인가를 뜻하는데, 깃의 관리 기준은 "git add를 한 번이라도 하였는가?"로 이해하면 쉬움.git add를 한 번도 하지 않은 새 파일 → Untrackedgit add를 한 번이라도 한 파일 → Tracked 파일이 한 번이라도 git add 된 경우 Tracked 상태가 유지되며, 해..

[Java] MVC 패턴: 로또 애플리케이션 만들기 1편

백엔드 개발자를 희망한다면서 지금까지 잘못된 방법으로 공부하고 있었던 것 같다. 알고리즘이나 조금 건드리고, 인프런 강의를 챙겨 들으며 문법을 배우는 것만으로도 충분히 잘하고 있다고 생각했다.  현실은 JONNA 부족하다. 한 블록에 모든 내용을 담다가, 메서드로 분리하는 것을 적용해 보기까지도 엄청 오랜 기간이 걸렸다. 일부러 메서드로 빼는 연습을 계속하고 있다만 솔직히 지금도 잘 모르겠고 어렵다.  자바의 메모리 영역이라던가 객체 지향이라던가, 아무튼 자세히 파고들면 머리 아픈 개념들이 참 많은데, 지금 당장 필요한 건 디자인 패턴이다. 진작에 스프링까지 공부했으면 조금 더 나았을까 싶기도 한데, 이제 와서 어쩌겠나. 나는 지금까지 패키지 구조조차 명확하게 나누고 시작한 적이 없었다. 그런데 최근 느..