공부 노트 11

extends와 implements 차이점

클래스와 인터페이스의 상속 및 구현을 정의할 때 사용하는 키워드입니다. extends: 클래스 상속 (부모 상속)부모 클래스(상위 클래스)의 속성과 메서드를  자식 클래스(하위 클래스)가 물려받을 때 사용합니다. 단일 상속만 가능하며, 한 번에 하나의 클래스만 상속받을 수 있습니다.상속받은 클래스는 부모 클래스의 메서드나 변수를 재정의(Override)할 수 있습니다. implements: 인터페이스 구현 클래스가 다른 클래스나 인터페이스에 정의된 메서드와 속성을 반드시 구현하도록 강제할 때 사용합니다.다중 구현이 가능하며, 하나 이상의 클래스를 동시에 implements할 수 있습니다.implements를 사용하면 상속이 아니라 인터페이스의 모든 메서드와 속성을 새로 정의해야 합니다.

공부 노트 2024.11.19

Optional<T> 주요 메서드

Optional는 Java 8에서 추가된 클래스로, 주어진 값이 null일 가능성을 명시적으로 처리하기 위해 사용됩니다. 이를 통해 null을 직접 다루지 않고도 안전하게 코드를 작성할 수 있습니다.  주요 메서드: isPresent()Optional에 값이 있는지 여부를 확인합니다.반환 타입: booleantrue는 값이 존재한다는 뜻이고, false는 값이 없음을 의미합니다.get()값이 존재하는 경우 값을 반환합니다.값이 없으면 NoSuchElementException을 던집니다.이 메서드는 값이 확실히 있을 때만 사용해야 하며, 그렇지 않은 경우 orElse() 또는 orElseThrow()를 사용하는 것이 좋습니다.orElse(T other)값이 존재하면 해당 값을 반환하고, 그렇지 않으면 지정..

공부 노트 2024.10.02

CRUD란?

CRUD 개념으로 회원 관리 시스템을 만들었는데대체 CRUD란 뭐지.. 싶어져서 찾아 보았다  Create(생성): 새로운 데이터를 추가하는 작업입니다. 데이터베이스에서는 새 레코드를 삽입하는 것을 의미합니다.예: 회원 가입 시 새로운 회원 정보를 데이터베이스에 저장하는 것.Read(읽기): 기존 데이터를 조회하는 작업입니다. 데이터베이스에 저장된 데이터를 불러오는 것을 의미합니다.예: 사용자가 자신의 프로필을 확인할 때 데이터베이스에서 회원 정보를 불러오는 것.Update(수정): 기존 데이터를 수정하는 작업입니다. 이미 존재하는 데이터의 내용을 변경하는 것을 의미합니다.예: 사용자가 자신의 프로필 사진이나 정보를 변경할 때 데이터를 업데이트하는 것.Delete(삭제): 기존 데이터를 삭제하는 작업입니..

공부 노트 2024.10.02

빈(Bean)이란?

빈(Bean)이란? Spring 컨테이너가 관리하는 자바 객체입니다.애플리케이션 내에서 사용할 객체들을 빈으로 정의하고, Spring이 이 객체들을 생성, 초기화, 의존성 주입, 소멸까지 관리합니다.이러한 빈은 애플리케이션의 설정 파일(주로 XML, 자바 기반의 설정 클래스 등)이나 애너테이션을 통해 정의됩니다. 왜 빈으로 등록해야 하는가?(ex: 컨테이너에 빈 등록을 해주다.. 왜?) 의존성 주입(Dependency Injection)객체들 간의 의존성을 Spring이 자동으로 관리해줍니다. 개발자는 직접 객체를 생성하거나 그 의존성을 수동으로 처리할 필요가 없습니다. 이는 애플리케이션의 유지보수를 쉽게 하고, 느슨한 결합(loose coupling)을 지원합니다.객체의 생명주기 관리Spring은 빈 ..

공부 노트 2024.10.02

응답 코드 확인 (꼭 알아 두어야 하는 코드!!)

● 200 OK: 요청이 성공적으로 처리되었습니다. ● 201 Created: 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었습니다. ● 302 Found: 요청한 리소스가 임시적으로 다른 URL로 리다이렉트됩니다. ● 400 Bad Request: 클라이언트의 요청이 잘못되었거나 서버가 요청을 이해할 수 없습니다. ● 401 Unauthorized: 인증이 필요하지만 클라이언트가 인증되지 않았습니다. ● 403 Forbidden: 클라이언트가 요청한 리소스에 접근할 권한이 없습니다. ● 404 Not Found: 요청한 리소스를 찾을 수 없습니다. ● 500 Internal Server Error: 서버에서 오류가 발생하여 요청을 처리할 수 없습니다. [상태 코드]1xx 요청을 제대로 받았고, ..

공부 노트 2024.10.02

추상화와 다형성

추상화와 다형성은 객체 지향 프로그래밍(OOP)의 핵심 개념 중 두 가지로 코드의 유연성과 재사용성을 높이는 데 중요한 역할을 한다.  1. 추상화 (Abstraction)추상화는 객체의 세부 사항을 숨기고, 중요한 특징만을 드러내는 과정입니다.이를 통해 복잡한 시스템을 간결하고 이해하기 쉽게 만들 수 있습니다. 즉, 복잡한 실제 시스템을 단순한 모델로 표현하는 방식입니다. 특징: 구체적인 구현을 숨김: 사용자는 객체의 세부적인 구현 방식이 아닌, 기능만을 볼 수 있습니다.추상 클래스와 인터페이스를 활용: 추상화를 달성하기 위해 주로 추상 클래스와 인터페이스를 사용합니다. 추상 클래스는 일부 구현을 가질 수 있지만, 인터페이스는 모든 메서드가 구현되지 않은 형태로 제공됩니다.   2. 다형성 (Polym..

공부 노트 2024.09.26

스레드란? (스레드/멀티스레드)

스레드(Thread)란?스레드는 프로그램 내에서 동시에 실행될 수 있는 작업 단위예시하나의 프로그램(프로세스)은 여러 가지 일을 동시에 할 수 있는데, 그때 필요한 것이 스레드예시: 웹 브라우저웹 페이지를 로드하는 것.음악이나 영상을 재생하는 것.사용자가 입력하는 키보드를 받아들이는 것.웹 브라우저는 여러 가지 일을 동시에 해야 하니까, 여러 개의 스레드를 사용합니다.한 스레드는 웹 페이지를 읽고,또 다른 스레드는 사용자 입력을 처리하며,다른 스레드는 비디오나 음악을 재생하는 식입니다.이렇게 여러 작업이 동시에 진행될 수 있는 이유가 스레드 덕분입니다. 스레드와 프로그램의 차이프로세스(프로그램): 실행 중인 프로그램 자체를 말합니다. 예를 들어, 게임을 실행하면 그 게임이 하나의 프로세스입니다.스레드: ..

공부 노트 2024.09.25

싱글톤 패턴이란?

싱글톤(Singleton) 패턴은객체 지향 프로그래밍에서 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고도, 애플리케이션 전반에서 동일한 객체를 공유해야 하는 상황에서 유용합니다. 1. 싱글톤 패턴의 개념싱글톤 패턴의 핵심 개념은 클래스 인스턴스의 유일성을 보장하는 것입니다.즉, 해당 클래스의 인스턴스가 단 하나만 생성되고, 어디에서나 동일한 인스턴스에 접근할 수 있도록 하는 것입니다. 이를 위해 특정 클래스를 설계할 때, 인스턴스를 생성하는 과정과 접근하는 방식을 제어합니다. 2. 사용 목적싱글톤 패턴은 주로 다음과 같은 상황에서 사용됩니다.전역적 상태 관리: 애플리케이션의 전역적인 설정, 설정 값을 유지하는 객체에 사용됩니다.리소스 관..

공부 노트 2024.09.25

Spring Boot - IoC란? (제어의 역전) // 싱글톤 패턴 (공부하기)

IoC (Inversion Of Control) - 제어의 역전- 객체(인스턴스)의 생명주기 관리를 개발자가 아닌 Spring Container (IoC Container) 가 모두 맡아서 함 기존 프로그램은 클라이언트 구현 객체가 스스로 필요한 서버 구현 객체를 생성하고, 연결했다.-> 제어 흐름을 스스로 조종했다스프링 컨테이너를 사용하면 프로그램에 대한 제어 흐름에 대한 권한은 모두 스프링 컨테이너가 가지고 있다.-> 외부에서 관리하는 것 => 제어의 역전(객체를 제어하고 관리하는 역할이 개발자로부터 스프링 컨테이너에 역전) 스프링 컨테이너란ApplicationContext를 스프링 컨테이너라고 부른다.@Bean 이라 적힌 메서드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다.장점: 싱글톤..

공부 노트 2024.08.13

session 이란

세션 session사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점까지, 같은 사용자로부터 오는 일련의 요청을 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술클라이언트와 서버 간의 연결 상태를 의미 (클 -> 서버와 접속이 종료하기 전의 상태 // 웹 사이트 -> 창을 닫기 전까지의 상태)동작 순서클 -> 서버 ▶ 서버에 정보 저장 1. 클라이언트에 요청2. Request - Header 필드 Cookie 세션 ID 확인3. Cookie 세션 ID 서버에 저장4. 세션 ID 값 -> 서버에 전달쿠키 CookieHTTP의 일종으로 웹 사이트 방문시, 그 사이트가 사용하고 있는 서버에서 사용자의 클라이언트에 저장하는 기록 데이터 파일 ex) 아이디/..

공부 노트 2024.07.15