Java 42

스프링 부트 핵심 가이드(장정우 지음) - 스프링 부트 개요

1. 스프링 프레임워크자바(Java) 기반 애플리케이션 프레임워크로, 엔터프라이즈급(기업 환경 대상 개발) 애플리케이션을 위한 다양한 기능 제공-> 오픈소스 경량급 애플리케이션 프레임워크로 불림(자바로 애플리케이션을 개발하는 데 필요한 기능을 쉽게 사용)한국 전자정부 표준 프레임워크 기반 기술로 채택되어, 공공기관 웹 서비스를 개발할 때 사용 1) 제어 역전(IoC: Inversion of Conmtrol)객체를 생성하고 사용하는 작업을 개발자가 직접 제어하지 않고, 객체의 생명주기 관리를 외부(스프링 컨테이너 or IoC 컨테이너)에 위임하여 컨테이너에 제어권이 넘어간 것이를 통해 의존성 주입(DI), 관점 지향 프로그래밍(AOP) 등이 가능해짐2) 의존성 주입(DI: Dependency Injecti..

Java 기초 또 다시 공부하기 18일차 - 스레드(스레드 제어), 컬렉션 프레임워크

1. 스레드(스레드 제어)스레드 객체를 생성하고 start() 메서드를 호출하면 언제든 실행할 준비가 되어 있는 '실행 대기 상태'가 됨-> 운영체제에서 실행 대기 상태 스레드 중 하나를 선택하여 '실행 상태'로 만드는 것실행 상태의 스레드는 run() 메서드를 모두 실행하기 전에 다시 실행 대기 상태로 돌아갈 수 있고,실행 대기 상태에 있는 다른 스레드가 선택되어 실행 상태가 되기도 함 run() 메서드의 내용이 모두 실행되면 스레드의 실행이 멈추고 종료 상태가 됨 1) 스레드 상태 (Thread States)자바에서 Thread.State 열거형(Enum)은 총 6가지 상태를 정의상태설명NEW 스레드 객체가 생성됐지만 아직 start()가 호출되지 않음RUNNABLE실행 준비 완료 상태(JVM이 스케..

Java 기초 또 다시 공부하기 17일차 - 기본 API 클래스(java.util 패키지), 스레드(멀티 스레드)

이전 공부글2025.06.20 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 16일차 - 기본 API 클래스(java.lang 패키지) String 클래스와 System 클래스도 모두 API에 속" data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/159" data-og-url="https://keep-programming-study.tistory.com/159" data-og-image="https://blog.kakaocdn.net/dna/mLcrs/hyY8PTp6l8/AAAAAAAAAAAAAAAAAAAAAO5Pk7ESsPk3csxLZQ0dM_sLfp2viKvrj2Oz3o-gNZZr/..?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1785509999&allow_ip=&allow_referer=&signature=nwHVVvZw9WThUOU9qrFwQ5GnPCU%3D

Java 기초 또 다시 공부하기 15일차 - 예외 처리(예외 클래스, 예외 처리)

예외(exception)사용자의 잘못된 조작 또는 개발자의 잘못된 코드로 인해 발생하는 프로그램 오류발생 시 프로그램이 곧바로 종료되는데, 예외 처리(exception handling)를 통해 프로그램을 종료하지 않고 정상 실행 상태를 유지할 수 있음자바에서는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무 확인(모든 예외를 확인하는 것은 아님)-> 예외 처리 코드가 없다면 컴파일되지 않음1. 예외 클래스자바에서는 예외를 클래스로 관리-> 프로그램 실행 도중 예외 발생 시, JVM에서 해당 예외 클래스로 객체를 생성해야 예외 처리 코드에서 예외 객체 이용모든 예외 클래스는 java.lang.Exception 클래스를 상속받음1) 예외와 예외 클래스(1) 일반 예외(컴파일러 체크 예외, e..

Java 기초 또 다시 공부하기 14일차 - 중첩 클래스와 중첩 인터페이스(중첩 클래스와 중첩 인터페이스 개요, 익명 객체)

관련 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/bIndU2/hyY77FSMOC..

Java 기초 또 다시 공부하기 13일차 - 인터페이스, 인터페이스의 타입 변환과 다형성

관련 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/BisCx/hyY8WKCIiz/..

Java 기초 또 다시 공부하기 12일차 - 상속(추상 클래스와 추상 메서드)

1. 추상 클래스의 정의클래스들의 공통적인 필드와 메서드를 추출해서 선언하는 클래스객체를 직접 생성 가능한 실체 클래스와 상속 관계를 가지고 있음 -> 추상 클래스가 부모, 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성 물려받고 추가 특성을 가짐 (특성: 필드와 메서드들을 말함)2. 추상 클래스의 용도 공통된 필드와 메서드의 이름을 통일하여, 실체 클래스 작성 시 시간 절약실체 클래스를 설계하는 사람이 여러 사람일 경우, 실체 클래스마다 필드와 메서드가 제각기 다른 이름을 가질 수 있음-> 데이터와 기능이 모두 동일해도 이름이 다르니 객체마다 사용 방법이 달라지므로, 추상 클래스에 공통 필드와 메서드를 선언하고, 실체 클래스에서 추상 클래스를 상속하여 필드와 메서드..

Java 기초 또 다시 공부하기 11일차 - 상속(상속, 클래스의 타입 변환과 다형성)

1. 상속 1) 상속의 정의이미 잘 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에, 중복되는 코드를 줄여줌-> 부모 클래스의 수정으로 모든 자식 클래스들도 수정되는 효과를 가져오므로, 유지 보수 시간을 줄일 수 있음예시: 부모 클래스 A.java, 자식 클래스 B.java// 클래스 Apublic class A { int field1; void method1() { ... }}// 클래스 A를 상속한 클래스 Bpublic class B extends A { String field2; void method2() { ... }}2) 클래스 상속의 특징 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고, 선택된 부모 클래스를 extends 뒤에 기술자바에서는 여러 개의 부..

Java 기초 또 다시 공부하기 10일차 - 객체 지향 프로그래밍(인스턴스 멤버와 정적 멤버, 패키지와 접근 제한자)

이전 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/bHiZdH/hyY46fN4JW..

Java 기초 또 다시 공부하기 9일차 - 객체 지향 프로그래밍(필드, 생성자, 메서드)

1. 필드(Field)1) 필드의 개념 및 선언개념: 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 저장선언: 클래스 중관호 {} 블록 내부에 "타입 필드명( = 초기값);"과 같은 형식으로 선언-> 초기값 설정은 생략 가능 String company = "당근";String product = "플랫폼";int num = 10;int companyYear;초기값을 지정하지 않았을 경우 필드 타입별 기본 초기값 타입 분류타입초기값정수 타입byte 0char\u0000(빈 공백)short0int0long0L실수 타입float0.0Fdouble0.0논리 타입booleanfalse참조 타입배열null클래스(String 포함)null인터페이스null2) 필드 사용(필드값을 읽고 변경)클래스 내부..