본문 바로가기

전체 글

(40)
[SPRING] 좋은 객체지향 설계의 5가지 원칙(SOLID) 클린코드로 유명한 로버트 마틴이 좋은 객체지향 설계의 5가지 원칙을 정리하였습니다. SOLID SRP: 단일 책임 원칙(Single Responsibilty Priciple) OCP: 개방-폐쇄 원칙(Open-Closed Priciple) LSP: 리스코프 치환 원칙(liskov substitution Priciple) ISP: 인터페이스 분리 원칙(Interface segregation Priciple) DIP: 의존 관계 역전 원칙(Dependency Inversion Priciple) SRP: 단일책임 원칙(Single Responsibilty Priciple) 하나의 클래스는 하나의 책임만 가져야한다. 하나의 책임이라는 것은 모호하다. 클 수도 있고, 작을 수도 있다. 문맥과 상황에 따라 다르다...
[SPRING] 객체지향 특징 객체지향프로그래밍이란 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다. 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 유연, 변경 용이? 레고 블럭을 조립 키보드, 마우스를 바꾸듯 컴퓨터 부품을 바꾸듯 컴포넌트를 쉽고 유연하게 변경 하면서 개발할 수 있는 방법 이것이 바로 다형성(Polymorphism)입니다. 다형성(Polymorphism) 자동차의 역할을 K3에서 아반떼로 바꾸어도 운전자는 운전이 가능합니다. 운전자는 자동차의 역할(인터페이스)만 의존하고있습니다. 자동차의 ..
[SPRING] 스프링 프레임워크의 모든 것 스프링 프레임워크란 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체지향언어 스프링은 객체지향언어가 가진 가장 큰 특징을 살려낸 프레임워크 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 [JAVA] - [SPRING] 객체지향 특징 [SPRING] 객체지향 특징 추상화 캡슐화 상속 다형성 bakssse.tistory.com [JAVA] - [SPRING] 좋은 객체지향 설계의 5가지 원칙(SOLID) [SPRING] 좋은 객체지향 설계의 5가지 원칙(SOLID) bakssse.tistory.com 스프링 프레임워크 기술 핵심 기술: IoC, DI, 컨테이너 [JAVA] - [SPRING] IoC, DI, 컨테이너 AOP, 이벤트, 기타 웹 기술: 스프링 MVC,..
[SPRING] 의존성 주입 DI(Dependency Injection) DI 종류 필드 주입 setter 주입 생성자 주입 의존관계가 실행중에 변경될 일이 없으므로 생성자 주입을 권장합니다. 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용합니다. 그리고 정형화 되지 않거나, 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록합니다. 의존관계 설정 (컨포넌트 스캔) 스프링 컨테이너에 스프링 빈으로 등록합니다. 기본으로 싱글톤으로 등록이 되며, 설정으로 싱글톤으로 아니게 설정 가능하지만 왠만하면 싱글톤으로 사용합니다. 애노테이션으로 등록 @Component, @Controller, @Service @Repository 1. 생성자 주입 @Controller public class MemberController { p..
TDD란 tdd 란 - 먼저 리포지토리 등 을 개발하고 테스트 코드를 작성하는것이 아니라 테스트코드를 먼저 작성하고 리포지토리 등을 개발하는 방식 - 어떤것을 구현할건지 미리 테스트 틀을 만들어놓고 구현 클래스를 작성 tdd를 하는이유 tdd 없이 개발하는것은 나혼자 개발할때에는 괜찮지만 여러명에서 개발하거나, 소스가 몇만 라인, 방대해 지게되면 코스트코드 없이 개발은 거의 불가능합니다. 물론 할수는있지만, 많은 문제가 생깁니다.
[JAVA] JAVA 문법 1. 자료형 2. 자바5, 8 문법 3. 객체지향 프로그래밍 4. 함수형 프로그래밍 https://wikidocs.net/book/31 점프 투 자바 **초보 프로그래머를 위한 자바 입문서** 이 책은 문법위주의 지식보다는 이해중심의 지식을 전달하는 것을 주 목적으로 한다. 예를 들어 자바에서 잘 파악하기 힘든 개념 중 … wikidocs.net 익명 클래스 https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%9D%B5%EB%AA%85-%ED%81%B4%EB%9E%98%EC%8A%A4Anonymous-Class-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%A7%88%EC%8A%A4%ED%84%B0%ED%95%98%EA%B8%B0 ☕ 익명 클래스(Anony..
[JAVA]자바 특징 자바를 개발한 선 마이크로 시스템즈는 자바를 다음과 같이 정의했습니다. Java: A simple, object-oriented, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language 간단하다(simple) 자바는 C++ 에 가깝지만 훨씬 간단하고, 고급 언어들에 들어 있는 여러 가지 요소들 중에서 반드시 필요 하지 않는다고 생각된 부분들은 모두 제거 했습니다. 객체 지향적이다 (Object-oriented) 자바는 숫자(int, float, log)나 논리값(true,false)을 제외한 거의 모든 것이 객체로 구성되어 있습니다...
[JAVA]java 버전 업그레이드 변경 1. 자바 버전 다운로드 https://www.oracle.com/java/technologies/ Oracle Java Technologies | Oracle Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders. www.oracle.com brew jdk brew search jdk 2. 현재 버전 확인 java -version 3. 설치된 JDK 리스트 확인 /usr/libexec/java_home -V ..