전체 글 109

[SPRING 이론] [03] 의존성(의존관계) / 의존주입

✅ 의존성 ( Dependency ), 의존관계 어떤 메서드를 수행하는 주체가 되면 의존관계가 발생 한 객체가 다른 객체를 참조하거나, 다른 객체의 메서드를 호출하거나, 다른 객체로부터 데이터를 받아오는 등의 상호작용이 발생하는 것을 의미 ex) 자동차(Car)와 엔진(Engine) 객체를 가지고 있다고 가정해봅시다. 자동차는 엔진에 의존합니다. 즉, 자동차 객체가 생성되기 위해서는 엔진 객체가 필요합니다. 사용(Use) 의존성의 예시 // 엔진 클래스 public class Engine { public void start() { System.out.println("Engine started!"); } } // 자동차 클래스 public class Car { private Engine engine; //..

Framework/SPRING 2024.03.04

[SPRING 이론] [02] 컨테이너

📍 컨테이너 자바 애플리케이션을 실행하고 관리하는 환경을 제공하는 소프트웨어 컴포넌트 서블릿 컨테이너 스프링 컨테이너 자바 서블릿을 실행하고 관리하는 환경을 제공 스프링 프레임워크에서 제공하는 IoC 컨테이너 서블릿을 실행하는 웹 애플리케이션 서버의 일종 스프링 프레임워크의 의존성 주입과 객체 관리를 담당 ex) 이 서블릿은 HTTP GET 요청을 처리하고 "Hello, World!"라는 간단한 HTML 응답을 생성 import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import java..

Framework/SPRING 2024.02.29

[SPRING 이론] [01] 프레임워크

✅ Spring 프레임워크 개요 SpringBoot Spring 기반으로한 자체 프레임워크 => 실무에서 사용 ​ ​ ✅ 프레임워크 : 프레임워크 == 골격 ( 개발자 끼리의 기준을 통해 유지보수가 용이 ) ​ ex) 리모컨 한 개발자가 볼륨 버튼을 +10을 하고 퇴사한 뒤 다른 개발자가 새로 볼륨 버튼을 +1로 해서 만들 경우 --> 전에 만든 리모컨을 가지고 왔을 때 문제가 생긴다! 프레임워크의 장점은? ​ 1. 유지보수 용이 2. 개발시간 단축 → 개발비용 절감 3. 개발자의 역량이 획일화 → 실력 상향 평준화 4. 재사용 용이 ​ ✅ 스프링 프레임워크 : IoC와 AOP를 지원하는 경량의 프레임워크 ​ ex) POJO ↕ NOT POJO (Servlet,리스너,필터) : 우리는 이미 JSP 팀 프..

Framework/SPRING 2024.02.28

[JAVA 기초 이론] java 객체지향

👀 한 눈에 알아보기개념설명키워드상속부모 클래스의 기능을 자식 클래스가 물려받음 extends 추상 클래스객체로 만들 수 없고, 자식 클래스에서 구현해야 함 abstract 인터페이스메서드만 정의된 설계서, 다중 구현 가능 interface , implements 다형성하나의 타입이 여러 형태의 객체를 참조할 수 있음참조 타입캡슐화데이터 보호를 위한 접근 제어 private , getter / setter 1️⃣ 상속 (Inheritance)기존 클래스의 기능을 재사용새로운 기능을 추가하거나 변경기본 구조)public class A{}class B extends A{} ex)// 부모 클래스 (Super class)public class Animal { void sound() { ..

Language/JAVA 2024.02.21

[JAVA 기초 이론] 인터페이스: interface

✅ 인터페이스객체 지향 프로그래밍에서 특정한 동작이나 기능을 정의하는 추상적인 개념클래스가 가져야 하는 메서드의 시그니처를 정의하고, 해당 메서드들을 구현하는 클래스는 인터페이스를 구현다형성(polymorphism)을 구현하고, 객체 간의 관계를 정의// 인터페이스 정의interface Animal { void sound(); // 추상 메서드}// 인터페이스를 구현하는 클래스class Dog implements Animal { public void sound() { System.out.println("Dog barks"); // 추상 메서드 구현 }} ✋ 인터페이스 사용 이유 ▶ 다중 상속 가능자바는 클래스 딱 한개만 상속받을 수 있는데 인터페이스는 여러 개의 부모 클..

Language/JAVA 2024.02.20

[JAVA이론] StringBuffer / StringBuilder

String, StringBuffer, StringBuilder 모두 문자열을 저장하고, 관리하는 클래스 📍 비교StringBufferStringBuilder문자열 수정, 추가 가능문자열 수정, 추가 가능내부에서 동기화(synchronized) 지원동기화 없음스레드 안전(Thread Safe)스레드 안전하지 않음속도 보통속도 빠름멀티 스레드단일 스레드 ✋ 스레드?더보기더보기스레드(Thread)는 프로세스(Process) 안에서 실행되는 작업의 가장 작은 단위하나의 프로그램(프로세스) 안에서 동시에 여러 일을 처리하기 위한 실행 흐름 📌 비유프로세스 = 회사 (건물, 자원, 인력 모두 포함)스레드 = 직원 (실제로 일하는 사람)한 회사(프로세스) 안에 여러 직원(스레드)이 동시에 다른 일을 할 ..

Language/JAVA 2024.02.19

[DBMS] 서브 쿼리

서브쿼리란? Sub Query는 SQL 문 내부에 포함된 중첩된 쿼리 주로 외부 쿼리의 결과에 따라 내부 쿼리를 실행하고 결과를 필터링하는데 사용 서브쿼리는 특정 조건을 만족시키거나 특정 값을 계산하기 위해 사용 📌 서브쿼리 사용 시 주의사항 서브쿼리를 괄호로 감싸서 사용 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능 서브쿼리에서는 ORDER BY 를 사용 불가능 서브쿼리 사용 가능한 곳 ✅ 1. SELECT 절 - 하나의 열처럼 사용 - SELECT 절의 서브쿼리는 결과가 반드시 하나의 값 SELECT [컬럼], (SELECT [컬럼] FROM [테이블] WHERE 조건) FROM [테이블] WHERE 조건; ✅ 2. FROM 절 - 하나의 테이블처럼 사용 - FROM 절의 서브쿼리는..

Database/DBMS 2024.02.16

[ORACLE 이론] 값이 null일 때 다른 값: NVL

NVLNVL2NULL 값인 경우 특정값으로 출력NULL 값이 아닐 경우 특정값으로 출력 ✅ NVL 함수NVL 함수는 값이 NULL인 경우 지정값을 출력하고, NULL이 아니면 원래 값을 그대로 출력함수 : NVL("값", "지정값") ex)SELECT NVL(HOBBY,'없음') FROM USER;hobby가 null이면 없음을 반환 ✅ NVL2 함수NVL2 함수는 NULL이 아닌 경우 지정값1을 출력하고, NULL인 경우 지정값2를 출력함수 : NVL2("값", "지정값1", "지정값2") / NVL2("값", "NOT NULL", "NULL") SELECT NVL(HOBBY, HOBBY, '없음') FROM USER;

Database/ORACLE 2024.02.15

[DBMS] JDBC에서 Query 사용

executeQuery() SQL Query문이 SELECT의 경우 사용 반환값 타입 ResultSet executeUpdate() SQL Query문이 INSERT, DELETE, UPDATE의 경우 사용 반환값 타입 int ✋ 알아두기 JDBC 동작 순서 변수 세팅(Connection, Statement, ResultSet) JDBC Driver 등록 Connection 객체 생성 Statement 객체 생성 실행할 Query ResultSet 객체로부터 데이터 조회 ResultSet 객체 close Statement 객체 close Connection 객체 close ✅ executeQuery() ex) package test; import java.sql.Connection; import java..

Database/DBMS 2024.02.15

[DBMS] JDBC 연결방법

1. 드라이버 설치 - java에서 데이터베이스를 사용하기 위해서는 드라이버를 설치 ▶ MySQL 홈페이지에서 드라이버를 설치합니다. ( 링크 ) 설치가 완료되면, mysql-connector-java-버전-bin.jar 파일이 생성 2. 이클립스에서 jar파일 연동 이클립스에서 새로운 프로젝트를 생성 프로젝트 폴더를 우클릭 -> Properties -> Java Build Path 항목 클릭 Libraries -> Add Library ... 클릭 -> User Library 클릭 -> User Libraries 클릭 New 클릭하여 아무렇게 이름을 작성합니다. ( 저는 JDBC라는 이름으로 생성하겠습니다. ) 생성된 Library를 클릭하고 Add External JARs 클릭 처음에 설치한 jar ..

Database/DBMS 2024.02.15