Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- sql #부트캠프 #내일배움캠프 #웹관리자 #도전 #학습
- java #문법
- sql #내일배움캠프 #스파르타코딩클럽
- java
- html #css #부트스트랩 #웹사이트 #개발 #초보 #til #내일배움캠프 #스파르타코딩클럽
Archives
- Today
- Total
Hyeok의 웹 개발 블로그
<2025.03.20> Spring 입문 2주차 본문
🔎 프레임 워크
- 소프트웨어 개발을 간편하게 만들기 위한 스프트웨어 개발환경
- 프레임워크는 frame (틀) work(일하다)의 합성어
- 장점
- 개발 프로젝트에 일관된 구조를 제공하여 코드의 일관성과 가독성을 높여주며 팀 협업이 편해진다.
- 기본적으로 필요한 기능과 도구를 제공하여 개발자들이 핵심 비즈니스 로직에 집중할 수 있다.
- 보안 관련 기능을 기본적으로 제공하여, 보안 취약점을 방지하는 데 도움을 준다.
- 통합된 테스트 환경과 도구를 제공하여 테스트를 쉽게 작성하고 실행할 수 있다.
- 인기 있는 프레임워크는 방대한 커뮤니티 지원을 받으며, 다양한 문서를 활용할 수 있다.
- 단점
- 프레임워크는 굉장히 복잡한 구조를 가지기 때문에, 처음 익히는 데 시간이 많이 소요된다.
- 프레임워크의 새로운 버전이 기존 코드와 호환되지 않을 수 있다.
- 정해진 규칙과 구조를 따르게 강제하여 자유롭게 변경하기 어려울 수 있다.
🔎 라이브러리
- 애플리케이션 개발에 필요한 클래스, 함수 등을 모아 놓은 코드의 모음을 의미
- 도서관에 있는 책처럼 개발자가 소프트웨어를 만들 때 필요에 따라 원하는 기능을 구현하기 위해 가져다
쓸 수 있는 일종의 도구 역할
- 장점
- 개발자가 복잡한 코드를 직접 작성하지 않아서 개발 생산성이 높아진다.
- 검증된 라이브러리는 테스트와 커뮤니티 지원을 통해 안정성과 품질이 보장된다.
- 단점
- 라이브러리가 업데이트 되거나 지원이 중단될 경우 문제가 발생할 수 있다.
- 버전 호환성 문제로 인해 다른 라이브러리나 기존 코드와 충돌이 발생할 수 있습니다.
- 생각보다 빈번하게 발생하는 문제
- 불필요한 기능을 포함한 라이브러리를 사용하면 비효율적이다.
- 라이브러리의 내부 구현을 직접 수정하기 어려워, 특정 요구 사항에 맞게 조정하기 힘들 수 있다.
💡 Annotation
- 코드에 메타데이터를 추가할 수 있는 기능을 제공하며 주로 코드에 특별한 의미를 부여하거나 컴파일러와 런타임에 특정 동작을 트리거 하기 위해 사용
🎈 주석은 사람에게 정보를 제공하는 것이라면, 어노테이션은 특정 코드를 사용하는
프로그램에게 정보를 전 달하는 것이다.
- 어노테이션 정의
- 어노테이션은 @ 기호로 시작하며, 클래스, 메서드, 변수, 매개변수, 패키지 등에 추가할 수 있다.
- 내장 어노테이션
- @Override
- 메서드가 상위 클래스나 인터페이스의 메서드를 오버라이드하고 있음을 나타낸다.
- 이때 컴파일러는 메서드가 실제로 오버라이드하고 있는지 확인한다.
- 메서드가 상위 클래스나 인터페이스의 메서드를 오버라이드하고 있음을 나타낸다.
- @Deprecated
- 해당 요소가 더 이상 사용되지 않음을 나타낸다.
- 해당 어노테이션이 붙은 코드를 사용하면 컴파일 경고가 발생한다.
- @SuppressWarnings
- 컴파일러 경고를 억제한다.
- 사용되지 않는 변수에 대한 경고를 무시할 수 있다.
- 컴파일러 경고를 억제한다.
- @Override
- 사용자 정의 어노테이션
- 개발자가 필요에 따라 직접 어노테이션을 정의할 수 있다.
- 사용자 정의 어노테이션은 특정 메타데이터를 추가하거나,
- AOP(Aspect-Oriented Programming) 같은 기술과 결합하여 다양한 기능을 구현할 수 있다.
- AOP는 심화 주차에 배울 내용
- 각 어노테이션의 역할
- 이후 진행될 수업에서 하나하나 알아볼 예정
🔎 Lombok
- 보일러 플레이트 코 드를 줄여주는 라이브러리
- 자동으로 보일러 플레이트 코드를 생성하여 코드의 가독성과 유지 보수성을 높여줌
- Lombok은 어노테이션 기반으로 동작하며, 컴파일 시점에 소스 코드를 변환하여
필요한 매서드를 자동으로 생성
📌 보일러 플레이트 코드 (Boilerplate code)
- getter/ setter 메서드, 생성자, toString 메서드 등과 같이 반복적으로 작성되는 코드를 뜻함
'TIL > Spring' 카테고리의 다른 글
| <2025.03.28> 객체 지향 설계 (SOLID 원칙) (0) | 2025.03.28 |
|---|---|
| <2025.03.21> MVC 패턴 (0) | 2025.03.21 |
| <2025.03.19> Spring 입문 - Web Application (0) | 2025.03.20 |
| <2025.03.18> HTTP 기초 (0) | 2025.03.18 |
| <2025.03.17> Spring 입문 - 1 주차 (0) | 2025.03.18 |