내일배움캠프(Spring 7기)/내일배움캠프

Java, Spring 알아보기

가지코딩 2025. 3. 26. 14:49

✅ Java, Spring 알아보기

  1. Java 알아보기
  2. Spring 알아보기

1. Java 알아보기

https://www.ibm.com/kr-ko/topics/java

 

Java란 무엇인가요? | IBM

C 및 C++ 언어를 기반으로 하는 Java는 수십억 개의 디바이스에서 실행되는, 널리 사용되는 객체 지향 프로그래밍 언어이자 소프트웨어 플랫폼입니다.

www.ibm.com

 

JAVA 란?

  • 객체 지향 프로그래밍 언어소프트웨어 플랫폼
  • 규칙과 구문은 C 및 C++ 언어를 기반으로 한다.
  • "한 번 작성하면 어디서나 실행 가능"(Write Once, Run Anywhere)한 특징을 가진다.

 

JAVA 의 주요 특징

  • 이식성 – JVM이 있는 모든 환경에서 실행 가능
  • 객체 지향 – 코드의 재사용성과 유지보수성 향상
  • 보안성 – 강력한 메모리 관리 및 실행 환경 제공
  • 확장성 – 대규모 애플리케이션 개발에 적합
  • 멀티스레딩 – 동시 실행 지원

 

JAVA 의 활용 분야

  • 백엔드 개발 – 엔터프라이즈 시스템, 웹 애플리케이션
  • 모바일 개발 – 안드로이드 앱의 핵심 언어
  • IoT & 클라우드 – 사물인터넷 및 클라우드 기반 서비스
  • 머신러닝 & 데이터 과학 – 다양한 라이브러리 지원

2. Spring 알아보기

Spring 프레임워크: https://spring.io/projects/spring-framework

 

Spring Framework

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuse

spring.io

Spring 부트: https://spring.io/projects/spring-boot

 

Spring Boot

 

spring.io

 

Spring의 특징

  • 경량화: 필요한 기능만 선택적으로 사용
  • 객체 지향 설계: DI, AOP 지원
  • 모듈화: 다양한 모듈로 구성되어 선택적 사용 가능
  • 테스트 지원: 테스트 환경 지원
  • 트랜잭션 관리: 선언적 트랜잭션 관리 기능 제공

 

Spring의 단점

  • 설정 복잡: 많은 설정이 필요할 수 있음
  • 배우기 어려움: 초보자에게 어려울 수 있음
  • 성능 문제: DI, AOP 등으로 성능 저하 가능
  • 리소스 소모: 많은 리소스를 소모할 수 있음

 

Spring vs Spring Boot

  • 설정: Spring은 수동 설정, Spring Boot는 자동 설정.
  • 프로젝트 시작: Spring은 설정이 많고 복잡, Spring Boot는 빠르게 시작 가능.
  • 내장 서버: Spring은 외부 서버 필요, Spring Boot는 내장 서버 제공.
  • 배포: Spring은 WAR 파일, Spring Boot는 JAR 파일.