공부 39

SOLID 란?

SOLID는 좋은 객체 지향 설계의 5가지 원칙을 말한다 • SRP: 단일 책임 원칙(single responsibility principle) • OCP: 개방-폐쇄 원칙 (Open/closed principle) • LSP: 리스코프 치환 원칙 (Liskov substitution principle) • ISP: 인터페이스 분리 원칙 (Interface segregation principle) • DIP: 의존관계 역전 원칙 (Dependency inversion principle) 이렇게 5가지이며 이 5가지를 하나씩 알아보자 1. SRP 단일 책임 원칙 한 클래스는 하나의 책임만을 가져야 한다 쉽게말해 변경을 했을때 파급이 적게하는게 단일 책임 원칙을 다른것 극단적인 예로 UI하나의 변경을 하는데..

공부/SPRING 2024.04.10

스프링 웹 개발 기초(정적 컨텐츠, MVC와 템플릿 엔진,API)

스프링 웹 개발 기초 1. 정적 컨텐츠 : 파일을 있는 그대로 웹브라우저에게 보내는 방식 동작 >> 웹브라우저에서 localhost8080/hello-static.html 검색하면 내장 톰캣서버가 이 요청을 받고 먼저 컨트롤러가 있는지 찾아보고 없으면 resources: static/hello-static.html을 찾아 서 반환 2. MVC와 템플릿 엔진 : 서버에서 바꿔서 html을 전달하는 방식 MVC : Model,View,Controller (관심사의 분리) 동작 >> localhost:8080/hello-mvc 넘기면 내장톰캣이 spring에게 전달 helloController에 Mapping이 된걸 확인하고 그 메서드를 호출, return해줄때 이름은 hello-template로 model에..

공부/SPRING 2024.04.08

SQL 쪽지시험 오답노트

SQL 쪽지시험 1.각 부서별 평균 급여를 구하되 평균 급여가 2000이상인 부서만 나타내는 select문 작성 select dept_id, avg(salary) from s_emp group by dept_id having avg(salary)>=2000; 2.각 직책(s_emp.title)별로 급여(s_emp.salary)의 총합을 구하되 직책이 사원인 사람은 제외하시오. 단, 급여 총합이 3000이상인 직책만 나타내며, 급여총합에 대해 내림차순으로 정렬하시오 select title, sum(salary) from s_emp where title != '사원' group by title having sum(salary) >= 3000 order by sum(salary) desc; -- 검산용 sel..

공부/SQL 2024.04.04

[java] 정석코딩 자바 문제 오답노트

1. 객체지향 개념의 4대 핵심개념에 대해서 적고 한 줄로 설명하시오. ① 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 ② 다형성 : 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 한 것 ③ 캡슐화 : 외부로부터 데이터 보호(메서드를 통한 외부접속은 허용) 외부에는 불필요한, 내부적으로만 사용되는 부분을 감춤(복잡도 낮춤) ④ 추상화 : 클래스 간의 공통점을 찾아내서 공통의 조상을 만드는 작업, 구체적이지 않게 하는 것 2. 오버로딩 조건 3가지 적으시오. ① 메서드 이름이 같아야 한다 ② 매개변수의 개수 또는 타입이 달라야 한다. ③ 반환타입 영향 받지 X 3. 오버라이딩의 조건 3가지를 적으시오 ① 선언부가 같아야 한다. (이름, 매개변수, 반환타입 같아야 ..

공부/JAVA 2024.04.04

[java] 자바의 정석 요약정리 8 ~ 9장

[ 제 8장 예외처리 ] -예외처리 1. 직접처리(try-catch) 2. 보고(예외선언)(예외 떠넘기기) 3. 은폐 (빈 catch블럭) 4. (1,2) 예외 되던지기 -프로그램 오류의 종류 컴파일 에러 : 컴파일 시에 발생하는 에러(컴파일 中) 런타임 에러 : 실행 시에 발생하는 에러(비정상 종료) 논리적 에러 : 실행은 되지만 작성 의도와 다르게 동작 하는 것 (제일 심각한 에러, 문제 찾기 어렵고 수정이 어렵다) 심각도 : 컴파일 에러 < 런타임 에러< 논리적 에러 -런타임 에러 “에러는 어쩔 수 없지만, 예외는 처리하자” 1. 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류(복구불가)(포기) 2. 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 ..

공부/JAVA 2024.04.04

[java] 자바의 정석 요약정리 6 ~ 7장

[ 제 6장 객체지향언어 1 ] (프로그래밍언어 +객체지향개념) 특징 ① 코드의 재사용성이 높다 ② 유지보수 용이 ③ 중복코드 제거 핵심 개념 ( 캡슐화, 상속, 추상화, 다향성 ) - 클래스 객체를 정의해 놓은 설계도 – 객체를 이용하기 위해 데이터(변수)+함수(메서드) :서로 관련된 데이터들을 하나로 저장할 수 있는 공간 사용자 정의 타입 – 사용자가 원하는 타입을 직접 만들 수 있음 - 객체 (iv 묶음) : 실제로 존재하는 것 , 용도는 기능(변수)과 속성(메서드)에 따라 다름 - 클래스(설계도) --인스턴스화 -->인스턴스(객체) - 객체생성 : 클래스명 참조변수명 = new 클래스명( ); - 객체배열(=참조변수의 배열) : 객체 배열 생성 후 반드시 객체를 생성해줄 것 ..

공부/JAVA 2024.04.04

[SQL] 간단 문제 풀기

1.직원 테이블(s_emp)의 모든 행을 삭제하는 문장을 적으시오 select *from s_emp; delete from table1; TRUNCATE table table1; 2.직원 테이블(s_emp)에 존재하는 모든 직급(title)을 중복 없이 출력하시오 select distinct title from s_emp; select title from s_emp group by title; 3.직원 테이블을 부서별(dept_id) 내림차순, 연봉(salary) 오름차순으로 정렬하시오 select dept_id, salary from s_emp order by dept_id desc, salary; 4.직원 테이블에서 2015년도 이전에 입사한 직원의 수를 출력하시오 select * from s_emp..

공부/SQL 2024.04.04

[java] 자바의 정석 요약정리 2 ~ 5장

[ 2장 변수 ] 변수: 하나의 값, 저장공간 (R:읽기, W:쓰기) -변수선언: 변수타입 변수이름; 1. 숫자 : ① 정수형 : byte(1), short(2), int(4), long(8byte) ② 실수형 : float(4), double(8) ③ 논리형 : Boolean – true 또는 false 2. 문자 ① char(2) : 1글자 ② string : 0~n글자 모든 값은 타입이 있고, 타입을 모르면 해석 불가 기본형 : 8개(논리형,문자형,정수형,실수형) 참조형 : 무한 개 1byte 2byte 4byte 8byte 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double int 약+-20억 ( 2 x ) float 정밀도 소수점 7자리..

공부/JAVA 2024.04.04