스프링을 이해하는데는 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라는 애칭을 가진 IoC/DI, AOP, PSA라고 하는 스프링의 3대 프로그래밍 모델에 대한 이해가 필수다.의존하는 객체(전체)와 의존되는 객체(부분) 사이에 집합관계(A
로버트 C.마틴이 2000년대 초반 객체지향 프로그래밍 및 설계의 다섯가지 기본 원칙으로 제시한 것을 마이클 페더스가 두문자어로 소개한 것응집도는 높이고(High Cohesion), 결합도는 낮추는(Loose Coupling)는 고전 원칙의 객체 지향의 관점에서 재정립
선언부는 있는데 구현부가 없는 메서드를 말한다.추상 메서드(Abstract Class)를 가지고 있는 클래스는 반드시 추상 클래스로 선언해야한다.( 추상 메서드가 없어도 추상 클래스로 선언은 가능)왜 이런 추상 클래스가 필요로 할까??위 소스를 보면 동물 클래스의 인스
클래스 : 분류, 집합 같은 속성과 기능을 가진 객체를 총칭하는 개념. 객체 : 세상에 존재하는 유일무이한 사물객체와 클래스를 구분하는 간단한 방법은 나이(혹은 제조년일)를 물어보는 것.사람의 나이는? 답할 수 없으므로 클래스김연아의 나이는? 답할 수 있으므로 객체펭수
자바 프로그래밍에서 메모리 관리는 매우 중요한 요소이다.특히 메서드 스택 프레임, 변수 종류에 따른 메모리 할당, 멀티 스레드 및 멀티 프로세스에 대한 이해는 효율적인 자바 프로그램을 작성하는 데 필수적이다. 메서드 스택 프레임은 자바에서 메서드가 호출될 때마다 생성되
서버 세션을 사용하면 클라이언트의 상태를 저장할 수 있다. 쿠키와의 차이점 세션은 웹 브라우저가 아니라 서버에 값을 저장한다는 점 -> 서버는 세션을 사용해서 클라이언트 상태를 유지할 수 있기 때문에, 로그인한 사용자 정보를 유지하기 위한 목적으로 세션을 사용한다.
\-> 웹 브라우저가 보관하는 데이터웹 브라우저는 웹 서버에 요청을 보낼 때 쿠키를 함께 전송하며, 웹 서버는 웹 브라우저가 전송한 쿠키를 사용해서 필요한 데이터를 읽을 수 있다. 쿠키는 웹 서버와 웹 브라우저 양쪽에서 생성할 수 있는데, JSP에서 생성하는 쿠키는 웹
웹브라우저에 주소를 입력하면 JSP가 실행되는 것 처럼 보이지만, 실제로 JSP를 실행하는 과정은 꽤 복잡하다. (그림 출처 : blog )웹 브라우저(클라이언트)에서 사용자가 URL을 통해 JSP 페이지에 접근한다. 예를 들어, 사용자가 'https://ex
디렉티브(Directives)디렉티브는 JSP 페이지에 대한 설정 정보를 제공한다. 주로 페이지의 문서 타입, 인코딩 방식, 사용할 자바 패키지 등을 지정한다.예를 들어, 페이지의 콘텐츠 타입을 HTML로 지정하고 UTF-8 인코딩을 사용하는 경우 아래와 같이 작성할
웹 프로그래밍은 웹 페이지와 웹 애플리케이션을 생성, 관리 및 유지보수하는 과정이다. 사용자가 웹 브라우저를 통해 접근할 수 있는 대화형 웹 사이트를 만드는 것이 주요 목적이다. 이를 위해 HTML, CSS, JavaScript와 같은 프론트엔드 언어와 PHP, Pyt
JAVA7에서는 Generic을 사용할 때 아래 처럼 생성자에 해당 타입을 상세하게 명시하지 않아도 된다.왜냐하면, 이미 변수를 선언할 때 필요한 타입들을 지정해 놓았기 때문이다. 그래서 "<>"로 표시하면 컴파일러가 알아서 해당 생성자 타입을 지정해버린다.이처럼
JAVA 9에서의 중요한 업데이트와 기능들을 정리하였다.모듈 시스템(Project Jigsaw)Java 9의 가장 큰 변경 사항 중 하나는 Java Platform Module System (JPMS)의 도입임이 모듈 시스템은 애플리케이션을 더 작고, 관리하기 쉬운 구
JAVA 8에서의 중요한 업데이트와 기능들을 정리하였다.람다 표현식(Lambda Expressions)JAVA8에서 가장 주목 받는 기능 중 하나가 바로 람다 표현식.간결한 코드 작성을 가능하게 하며, 함수형 프로그래밍을 지원함.람다 표현식을 사용하면 간단한 클래스들
JAVA7에서 병렬 작업을 쉽게 작성할 수 있도록 새로 추가된 프레임워크이다.Unix/Linux에서의 fork() 함수와 이름만 비슷할 뿐, 기본적인 동작 방식과 사용 목적에서 상당한 차이가 있다.JAVA의 Fork/Join FrameworkJAVA의 Fork/Join
JAVA 7에서의 중요한 업데이트와 기능들을 정리하여 보았다.언어 개선 프로젝트(Project Coin)이진 리터럴과 숫자 리터럴의 밑줄 사용 : 숫자를 더 쉽게 읽을 수 있도록 밑줄("\_")을 사용하여 숫자를 구분할 수 있게 되었음다중 예외 처리 : 아래와 같이 하
JAVA7에서 추가된 try-with-resources 구문은 자원을 효율적으로 관리하기 위한 방법 중 하나이다. 이 구문은 파일, 네트워크 연결 또는 데이터베이스 연결과 같은 자원을 사용한 후 자동으로 해제하도록 설계되었다. 이전에는 'finally'블록에서 자원을
JAVA에서 네트워크 통신을 하기 위해서는 기본으로 제공되는 클래스는 TCP 통신을 위한 Socket 클래스와 UDP 통신을 위한 Datagram 관련 클래스로 나뉜다.또한 간단하게 웹에 접속하고 데이터를 처리하는 URL 클래스가 있긴 하지만, 섬세한 설정이 불가능하기
JAVA 개발을 하다보면 데이터를 파일, 데이터베이스 또는 다른 컴퓨터로 전송할 때 중요한 기술이 있는데, 그 중에 하나가 바로 객체직렬화(Serializable)이다.객체직렬화는 객체의 메모리 상태를 포함한 모든 정보를 바이트스트림(stream of bytes)형태로
어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말함( 위키백과, 스레드 )일반적으로 하나의 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라서 둘 이상의 스레드를 동시에 실행할 수 도 있다. 이러한 실행 방식을 멀티 스레드라고 함자
자바에서 제너릭은 코드의 유연성과 타입 안전성을 향상시키는 중요한 기능이다. 제너릭을 사용하면 클래스, 인터페이스, 메소드를 다양한 타입의 객체들과 함께 사용할 수 있다. 이러한 특성은 코드 재사용성을 증가시키고, 컴파일 시간에 타입 체크를 통해 안정성을 높인다.제너릭