스프링 핵심 원리 (기본편) CH01왜?
Why Spring인가, 이유와 핵심 원리 설명을 듣고싶어서
스프링 본질 이해 및 객체 지향 설계를 고민하는 개발
강의 목차
객체 지향 설계와 스프링
스프링 핵심 원리 이해1 - 예제 만들기
스프링 핵심 원리 이해2 - 객체 지향 원리 적용
스프링 컨테이너와 스프링 빈
싱글톤 컨테이너
컴포넌트 스캔
의존관계 자동 주입
빈 생명주기 콜백
빈 스코프
스프링이란?스프링 생태계
스프링 프레임워크 , 스프링 부트
스프링 데이터, 세션, 시큐리티, RestDocs,배치, 클라우드
스프링 프레...
스프링 입문References: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
왜?Django를 넘어서 java 와 spring 사용하여 서비스를 만들기위해 배움
전체 프로젝트 그림https://github.com/lostcatbox/FisrtJavaLectureClone.git
단축키 정리(인텔리J)12345command+shift...
(책리뷰)이펙티브 자바 3/E2022.06.05 처음으로 다읽음.(80%이해못함. 그냥 자바 느낌을 배움)
왜?자바라는 언어에 대해 조금이나마 친숙해지기 위해서
워낙 유명한책이고, 앞으로 자바를 많이 쓸예정이라서, 이해가 되지않는 부분도 일단 읽고 넘어가는식으로 1회독을 목표로 한다.
해당책의 라이브러리는
java.lang
java.util
java.io
java.util.concurrent
java.util.function
1장 들어가기
이책은 명료성, 단순성 원칙으로한다
코드는 복사되는것이 아니라 재사용되어야한다.
...
람다식람다식(Lambda Expression)
함수(메서드)를 간단한 식(expression)으로 표현하는 방법
익명 함수(이름없는 함수)
함수와 메서드의 차이
근본적으로 동일. 함수는 일반적 용어, 메서드는 객체지향개념 용어
함수는 클래스에 독립적, 메서드는 클래스에 종속적
람다식 작성하기
람다식 작성시 주의사항
람다식은 익명 함수 X 익명 객체임
람다식도 객체다.
하지만 Object obj = new Object() { //내용//} 해도 max()함수 활용을 할수가없다.
이유는 참조변수(리모콘)에 해당 ...
쓰레드프로세스와 쓰레드
프로세스: 실행 중인 프로그램, 자원(resources)과 쓰레드로 구성
쓰레드: 프로세스 내에서 실제 작업을 수행모든 프로세스는 최소한 하나의 쓰레드를 가지고있다.
하나의 새로운 프로세스를 생성하는 거보다 하나의 새로운 쓰레드를 생성해주는 것이 더 적은 비용이 든다
단점
동기화
교착상태
기아(실행할기회없음)
쓰레드의 구현과 실행
자바는 단일 상속! 따라서 인터페이스 구현이 더.. 좋을수도
클래스 상속받기
인터페이스 구현
1234567891011121314151617181920212223...
지네릭스(Generics)지네릭스(Generics)란?
컴파일시 타입을 체크해 주는 기능(compile-time type check)
객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌
예시아래와 같은경우 컴파일러가 찾아내지못한다. ArrayList는 Object의 배열이므로, list.get(2)가 Object 객체를 반환하므로 이를 형변환 가능할것이라고 생각된다.하지만 실제 runtime exception이 발생한다. 이유는 실제로는 String 객체를 Integer 로 형변환이 불가능하기때문이다
이를 Arr...
컬렉션 프레임웍(collections framework)(!!!)
컬렉션(collection)
여러 객체(데이터)를 모아 놓은 것을 의미
프레임웍(framework)(library+표준화됨)
표준화, 정형화된 체계적인 프로그래밍 방식
컬렉션 프레임웍(collections framework)
컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식
컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
java.util패키지에 포함. JDK1.2부터 사용
컬렉션 클래스(collection class)
다수의 데...
날짜와 시간
java.util.Date
날짜와 시간을 다룰 목적으로 만들어진 클래스
Date의 메서드는 거의 삭제됨
java.util.Calendar
Date클래스 개선
java.time패키지
Date와 Calendar의 단점을 개선 JDK1.8
Calendar클래스
추상 클래스이므로 getInstance()를 통해 구현된 객체를 얻어야한다.
주의할점!!! Month 필드는 값이 011이므로 112월 계산시 고려해야함
getInstance()의 현재시간으로 초기화된 객체반환. clear()한다면 Calendar객...
Object클래스
모든 클래스의 최고 조상 오직 11개의 메서드만을 가지고 있다.
notify(), wait()등은 쓰레드와 관련된 메서드다
getClass()는 자동으로 만들어지며, 객체 자신의 클래스 정보를 담고있는 Class인스턴스를 반환한다(=객체정보==설계도 정보)
equals()
객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true 다르면 false
Object클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교)
따라서 equals() 의도대로 사용하고싶다면 오버라이딩 필수
...
예외처리프로그램 오류
컴파일 에러(compile-time error): 컴파일 할떄 발생하는에러(실행불가)
자바 컴파일러가 하는일
구문체크
번역
최적화(간단한 계산은 해놓음)(extends Object같은것넣어줌)
런타임 에러(runtime error): 실행할 때 발생하는 에러(실행중 프로그램종료)(컴파일할때는 논리적으로는 통과했던것)
논리적 에러(logical error): 작성 의도와 다르게 동작(프로그램 종료X, 의도와 다르게 오류생김)
자바의 런타임 에러(실행중 발생하는 에러)
에러(error) = 프로그램 ...