분류 전체보기 105

@Component

@Component는 Spring에서 Bean(빈) 객체를 생성하고 관리하기 위한 기본적인 어노테이션입니다.@Componentpublic class MyComponent { public String sayHello() { return "Hello, Spring!"; }} MyComponent는 Spring이 관리하는 Bean이 됩니다.다른 클래스에서 @Autowired를 통해 주입받을 수 있습니다. @Component의 역할과 장점자동으로 Bean 등록 → ApplicationContext에 의해 관리됨의존성 주입 가능 → @Autowired로 쉽게 사용명시적인 설정 없이 컴포넌트 스캔으로 자동 감지의존성이란? (Dependency)의존성(Dependency)이란 어떤 객체가 다른..

스프링 2025.03.18

http

http란? HTTP(HyperText Transfer Protocol)는 웹 상에서 하이퍼텍스트 문서(HTML) 및 기타 리소스를 주고받기 위한 통신 프로토콜이다. 클라이언트(웹 브라우저)와 서버(웹 서버) 간의 요청(Request)과 응답(Response)을 기반으로 동작하며, TCP/IP 위에서 실행된다. 클라이언트-서버 모델HTTP는 클라이언트(예: 웹 브라우저)와 서버(예: 웹 서버) 간의 요청(request)과 응답(response) 구조로 동작함.클라이언트가 요청을 보내면 서버가 응답을 반환함.2. 무상태(Stateless) 프로토콜HTTP는 상태를 유지하지 않음.각 요청과 응답은 독립적으로 처리되며, 이전 요청의 정보를 저장하지 않음.이를 보완하기 위해 쿠키(Cookie), 세션(Sessi..

정리 2025.03.17

tcp

tcp 연셜 시작클라이언트 → 서버 : SYN (Synchronize)클라이언트가 서버에 연결 요청을 보냄.이때, SYN 플래그를 설정한 패킷을 전송하고, **초기 순서 번호(ISN, Initial Sequence Number)**를 포함함.2. 서버 → 클라이언트 : SYN-ACK (Synchronize-Acknowledge)서버가 요청을 받아들이면 SYN과 ACK 플래그를 설정한 패킷을 응답으로 보냄.서버도 자신의 초기 순서 번호(ISN)를 포함하여 보냄.3. 클라이언트 → 서버 : ACK (Acknowledge)클라이언트가 ACK 플래그를 설정한 패킷을 서버로 전송하여 연결을 확인함.이 패킷을 받은 후, 클라이언트와 서버 간에 연결이 성립됨.tcp연결 종료클라이언트 → 서버 : FIN (Finish..

정리 2025.03.17

IP

인터넷 프로토콜 IP(Internet Protocol) 인터넷 프로토콜은 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미한다.ip주소IP 주소는 쉽게 말하면 각 기기 간의 통신을 식별할 수 있는 전화번호 입니다.앞서 설명한 최소한의 규칙을 지킬 수 있는 이유는 여러분들이 잘 아시는 IP 주소 덕분입니다.Packet패킷(Packet)은 소스 IP, 대상 IP를 포함하고 있어서 어떤 컴퓨터에 데이터를 전송할지 판별할 수 있습니다.소스 출발지, 도착지 포함Packet은 크게 헤더, 페이로드, 트레일러(수신여부 포함)로 구분됩니다.데이터를 주기만 하는 것이 아닌 받고 응답한다.IP방식의 문제점애플리케이션 구분대상 컴퓨터의 어떤 프로그램에 사용될 데이터인지 구분할 수 없다.비연..

정리 2025.03.17

깃허브를 쓰는이유

Branch(분기점) 하나의 프로젝트에서 독립적으로 개발할 수 있도록 만들어주는 기능 Branch(분기점)에 일정 시점의 코드를 Commit(저장)할 수 있다. Branch(분기점)에 문제가 생길시 그시점으로 되돌릴수있음 원격 저장소와의 동기화 기능을 제공한다.pushcommit한 코드를 원격 저장소에 저장하는 기능프로젝트를 저장하는곳에 올리는기능pull원격 저장소의 코드를 local 환경에 불러오는 기능자기 개발환경에 가져온다Checkout현재 바라보고 있는 Branch를 전환할 수 있다.변경할때 사용Merge코드의 변경 사항(Commit)을 서로 다른 Branch끼리 합치는 기능이다.병합하는거

자바 2025.03.17

getter와 setter 그리고 함부로 접근못하게하기

전체코드package lv5;public class Menucategory { //종류 설명 필드 //햄버거 메뉴 출력 필요 private String name; private int num; //이제 직접 전근안됨 //불러올때 보여줌 public Menucategory(String name, int num) { this.name = name; this.num = num; } //메뉴판에 사용될거 public void showMenu() { System.out.println(num + "." + name); } //아마 1.햄버거 이런식으로 구현생각 public String getName() ..

자바 2025.03.13

키오스크 만들기

package lv4;public class Main { public static void main(String[] args) { Kiosk kiosk = new Kiosk(); // Menu 객체 생성하면서 카테고리 이름 설정 // Menu 클래스 내 있는 List 에 MenuItem 객체 생성하면서 삽입 //메뉴보여주고 메뉴 1햄버거 2감튀 3음료 이런식으로 나눠서 해주기 kiosk.start(); // Kiosk 객체 생성 // Kiosk 내 시작하는 함수 호출 /* * ===== 카테고리 목록 ===== 1.햄버거 2.음료 3.사이..

자바 2025.03.12

키오스크 만들기

오늘은 객체 지향 설계를 적용해 햄버거 메뉴를 클래스로 관리하기를 해볼것이다.목표  MenuItem 클래스 생성하기 설명 : 개별 음식 항목을 관리하는 클래스입니다. 현재는 햄버거만 관리합니다.클래스는 이름, 가격, 설명 필드를 갖습니다. main 함수에서 MenuItem 클래스를 활용하여 햄버거 메뉴를 출력합니다. MenuItem 객체 생성을 통해 이름, 가격, 설명을 세팅합니다. 키워드: newList를 선언하여 여러 MenuItem을 추가합니다. List menuItems = new ArrayList(); 반복문을 활용해 menuItems를 탐색하면서 하나씩 접근합니다.package lv2;public class MenuItem { //이름 가격 설명 필드 //햄버거 메뉴 출력 필요 ..

자바 2025.03.10