본문 바로가기
728x90
반응형

Java&Spring34

[JAVA] SOLID 원칙 S.O.L.I.D 원칙이란? 로버트 C. 마틴(Robert C. Martin), 흔히 "아저씨 보브(Uncle Bob)"로 알려진 소프트웨어 엔지니어가 발표한 객체 지향 프로그래밍 설계 원칙입니다. 즉, SOLID 원칙이란 객체지향 설계의 5가지 중요한 원칙을 뜻하며, 유지보수성과 확장성을 높이기 위해 설계 과정에서 따르는 지침입니다.  사전 기반 지식객체지향 프로그래밍의 기본 개념 (클래스, 객체, 상속, 다형성 등)Java에서 인터페이스와 상속 사용 방법접근 제한자, 메서드 오버라이딩, 클래스 간 관계 등의 기본 개념 단일 책임 원칙(Single Responsibility Priciple, SRP)- 클래스는 하나의 책임만 가져야 한다. 하나의 책임이란 클래스가 변경되어야 하는 이유가 하나뿐이어야 한.. 2025. 1. 16.
[디자인 패턴] 전략 패턴 [Strategy Pattern] 전략 패턴 (Strategy Pattern) 전략 패턴(Strategy Pattern)은 행동(알고리즘)을 캡슐화하여 동적으로 변경하거나 선택할 수 있도록 도와주는 디자인 패턴입니다. 객체의 행동을 별도의 클래스로 분리하여 실행 중에 행동을 교체할 수 있게 합니다. 이 패턴은 개방-폐쇄 원칙(Open/Closed Principle)을 따르며, 코드를 확장하기 쉽게 설계할 수 있습니다. 전략 패턴의 구성 요소 Context (문맥 클래스): 클라이언트가 사용하는 클래스이며, 특정 전략(알고리즘)을 사용하는 역할을 합니다. 전략 객체를 주입받아 사용하며, 주입된 전략에 따라 동작이 결정됩니다. Strategy (전략 인터페이스): 공통 인터페이스로, 다양한 전략들이.. 2025. 1. 16.
[디자인패턴] 빌더 패턴( Builder Pattern) 우리가 보통 Lombok이라는 의존성을 추가하여 Builder 클래스를 호출 하여 사용합니다. 이것을 직접 만들어 보도록 하겠습니다.BuilderPattern빌더패턴 빌더 패턴(Builder Pattern)은 객체 생성 패턴 중 하나로, 복잡한 객체의 생성 과정을 단계적으로 처리하면서 가독성과 유연성을 높이는 디자인 패턴입니다. 특히, 생성자나 팩토리 메서드의 파라미터가 많거나 객체를 단계적으로 초기화해야 하는 경우에 효과적입니다.빌더 패턴의 특징객체 생성의 분리: 객체의 생성 과정과 표현을 분리하여, 동일한 생성 절차를 통해 다양한 객체를 생성할 수 있습니다.가독성 향상: 빌더를 활용하면 코드가 메서드 체이닝 방식으로 읽히기 때문에 가독성이 높아집니다.불변성 유지: 빌더 패턴을 사용하면 생성된 객체가 .. 2025. 1. 16.
[bankApp05] 화면구현하기1 (템플릿 가져오기 ) 아래의 부트스트랩을 가지고 화면을 구현해보겠다. https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_template1 W3Schools online HTML editorThe W3Schools online code editor allows you to edit code and view the result in your browserwww.w3schools.com  My Bank 마이바이티스를 활용한 스프링 부트 앱 만들어보기 Navbar Link Link Link About.. 2025. 1. 15.
[Java] 모델링 모델링(modeling)이란?현실 세계의 시스템이나 프로세스를 컴퓨터 시스템 내에서 표현하기 위해 추상화하는 과정을 의미합니다. 이 과정에서 중요한 정보를 식별하고, 해당 정보 간의 관계를 정의하여, 데이터 구조나 알고리즘 등을 설계합니다. 모델링은 소프트웨어 개발 과정에서 요구 사항 분석, 설계, 구현 전 단계에서 중요한 역할을 합니다. 특히, 데이터베이스 모델링은 정보 시스템의 데이터 구조를 설계하는 데 중점을 둡니다. DB 존재하는 데이터 타입과 자바에서 사용하는 데이터 타입은 일치 하지 않습니다. DB 세상에 있는 존재들을 자바 세상에 존재할 수 있도록 모델링 해봅시다.  ORM (Object-Relational Mapping)ORM은 객체-관계 매핑을 의미하며, 객체 지향 프로그래밍 언어를 사용.. 2025. 1. 14.
[bankApp04] 코딩 컨벤션 💡 코딩 컨벤션(coding convention)은 특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트입니다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 방법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함합니다. 코딩 컨벤션 정의정적 파일 (CSS, XML, JS)규칙: 소문자 사용, 단어 간 구분은 스네이크 케이스(_)로 합니다.예시: style_sheet.css, config_file.xml, main_script.jsJSP 파일규칙: 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작합니다.예시: home.jsp, accountPage.jsp자바 파일 (클래스)규칙: .. 2025. 1. 14.
[BankApp3] 패키지 설정 💡 학습 목표패키지 및 폴더 구조 잡기패키지(package)는 관련된 클래스, 인터페이스, 서브패키지 등을 그룹화하여 정리하는 방법입니다. Java에서 패키지는 네임스페이스를 제공하여 클래스 이름 간의 충돌을 방지하고, 보다 체계적으로 코드를 조직화할 수 있게 합니다. 패키지는 물리적으로 파일 시스템의 디렉토리에 해당하며, 패키지 내의 클래스나 인터페이스는 이 디렉토리 내에 위치합니다.즉, 우리는 주 언어 파일들을 모아 두는 폴더를 패키지라 부르겠습니다.  Spring boot WEB MVC 프레임 워크에서는 정적자원을 두는 패키지css, js, image 파일등을 넣어 둘 수 있습니다.src/main/resource/static(정적 자원 루트 폴더)동적자원(JSP 활용)이 예제에서는 webapp/W.. 2025. 1. 14.
[BankApp02] 디자인 시안 3. 디자인 시안 확인 💡 화면 구성 확인이번 강의에서 디자인 요소에 대한 설명은 가능한 간단하게 진행할 예정입니다CSS 프레임워크인 bootstrap4를 활용하지만 여러분들이 원하는 디자인으로 마음껏 수정해도 좋습니다. 부트스트랩 4 템플릿을 가져올 링크 입니다 확인 해보세요W3Schools online HTML editor W3Schools online HTML editorThe W3Schools online code editor allows you to edit code and view the result in your browserwww.w3schools.com   My First Bootstrap 4 Page Resize this responsive page to see the effect.. 2025. 1. 14.
[설치 및 환경설정] STS 설치 https://github.com/spring-projects/sts4/wiki/Previous-Versions Previous VersionsThe next generation of tooling for Spring Boot, including support for Cloud Foundry manifest files, Concourse CI pipeline definitions, BOSH deployment manifests, and more... - Available for Eclipse...github.com다운로드받기이클립스 jar 파일을 받기 java -jar ~.ja 실행하기 시스템 환경 : OS window10스프링 3.3.7jdk (아마존 17)IDE(sts4)     JSP 플러그인 설치.. 2025. 1. 14.
[디자인패턴] Adaptor 어댑터 패턴 (Adapter Pattern)1. 어댑터 패턴이란?어댑터 패턴은 호환되지 않는 인터페이스를 가진 클래스들 간에 호환성을 제공하기 위한 구조적 디자인 패턴입니다.즉, 서로 다른 인터페이스를 가진 객체들이 함께 동작할 수 있도록 중간 역할을 수행하는 클래스(어댑터)를 정의합니다.어댑터 패턴의 주요 특징중재 역할: 두 객체 사이에서 서로 다른 인터페이스를 연결.호환성 제공: 기존 코드를 수정하지 않고도 새로운 코드와 함께 동작 가능.유연성 증가: 코드 변경 없이 다양한 상황에 재사용 가능.코드 분석1. 인터페이스 정의IElectronic220v와 IElectronic110v는 각각 220v와 110v 전자 기기를 연결하기 위한 인터페이스입니다.interface IElectronic220v { .. 2025. 1. 9.
728x90
반응형