Layered Architecture란? 중복으로 개발되는 요소를 별도의 Service 객체로 만들어 여러 컨트롤러에서 사용할 수 있게끔 하는 것이다. Layer를 분리하는 이유? https://umbum.dev/1066 [Spring] MVC : Controller와 Service의 책임 나누기 martinfowler.com/bliki/PresentationDomainDataLayering.html 우선, 가장 크고 중요한 개념은 layer다. 일반적으로 많이 사용하는 layer 구분 Presentation layer Service layer Business layer Persistence laye.. umbum.dev Layer를 나눈다는 것은, 무언가를 추상화 하는 것이 그 목적이다. 추상화를 잘 ..
Reference https://wooaoe.tistory.com/15 MVC(Model, View, Controller) Pattern https://velog.io/@ljinsk3/MVC-%ED%8C%A8%ED%84%B4 MVC 패턴 모델-뷰-컨트롤러(Model–View–Controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 velog.io MVC(Model, View, Controller) Pattern junhyunny.github.io [개발자 면접 대비] MVC 패턴 이란? (Model 1, Model 2) MVC 패턴 파헤치기 https://coding-factory.tistor..
싱글톤 패턴(Singleton Pattern)이란? 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴을 의미한다. 즉, 인스턴스가 오직 1개만 생성되어야 하는 경우에, 클래스에 하나의 객체만을 생성해 이후에 호출된 곳에서는 생성된 객체를 반환하여 프로그램 전반에서 하나의 인스턴스만을 사용하게 하는 패턴이다. 싱글톤 패턴 생성 규칙 https://velog.io/@ednadev/%EC%9E%90%EB%B0%94-static-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4singleton-pattern 자바 static - 싱글톤 패턴(singleton pattern) . . . . . static은 '클래스의', ..
https://ifuwanna.tistory.com/221 [Java] String, StringBuffer, StringBuilder 차이 및 장단점 Java 에서 문자열을 다루를 대표적인 클래스로 String , StringBuffer, StringBuilder 가 있습니다. 연산이 많지 않을때는 위에 나열된 어떤 클래스를 사용하더라도 이슈가 발생할 가능성은 거의 없습니다 ifuwanna.tistory.com String String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점은 String은 불변(immutable)의 속성을 갖는다는 점이다. String에 새로운 값을 추가하게 되면 기존의 값이 변경되는 것이 아니라 추가한 값은 새로운 메모리영역을 할당받고, 기존의 값..
[JAVA] 람다식(Lambda Expression) (tistory.com) [JAVA] 람다식(Lambda Expression) 람다식(Lambda Expression) JDK1.8부터 추가됨 람다식의 도입 → 자바 = 객체지향 언어 + 함수형 언어 ※ 객체지향 언어와 함수형 언어란? 각각 객체지향 프로그래밍 패러다임을 지원하는 언어와 함수형 atoz-develop.tistory.com 람다식(Lambda Expression) JDK 8부터 추가된 람다 함수는 익명함수(Anonymous functions)를 지칭하는 용어이다. 즉, '식별자 없이 실행가능한 함수, 메소드의 이름이 필요없는 함수'라고 말할 수 있다. 📌함수형 인터페이스 함수를 단 하나만 가지고 있는 인터페이스 함수를 1급 객체처럼 다룰..
JDK 8에 추가된 API로 함수형 인터페이스인 람다(lambda)를 활용할 수 있는 기술. 데이터를 추상화하고, 데이터를 다루는데 자주 사용되는 메서드를 정의한 API이다. 배열이나 컬렉션을 출력할 때, 코드를 간결하고 가독성있게 표현할 수 있는 API로 길게 늘어진 for문을 체이닝과 람다를 이용하여 보기 쉽게 정리할 수 있다. 이렇게 적어서는 잘 이해가 되지 않으므로 예제를 가지고 이해해보기로 했다! 2021.11.26 - [개발자가 될 때까지/JAVA] - [Java] 람다식 (Lambda Expression) [Java] 람다식 (Lambda Expression) [JAVA] 람다식(Lambda Expression) (tistory.com) [JAVA] 람다식(Lambda Expression) ..
Map 특징 key와 value 쌍으로 이루어져 있다. key는 중복이 되지 않지만, value는 중복이 가능하다. (ex: 주민번호 - 이름) key를 통해 value를 빠르게 찾을 수 있다.(key는 입력할 때 hashing 처리함) key는 set으로 되어있다. value로 key를 찾기는 어렵다. HashMap 중복과 순서가 허용되지 않으며 null값이 올 수 있다. 가장 많이 사용된다. TreeMap 정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠르다. map의 메소드 메소드명 설명 반환값 get(키) 키로 값을 얻어온다. Object: 값을 반환 toString() 리스트 값을 [값, 값...]의 문자열 형태로 돌려준다. String put(키, 값) 키와 값을 추가한다 O..
Set 특징 요소값이 중복이 되지 않는다. 저장한 순서를 유지하지 않는다. 따라서 index가 없다. HashSet Set에서 가장 많이 사용하는 클래스 해시 알고리즘(hash algorithm)을 사용해서 검색속도가 빠르다. 순서를 예측할 수 없음 TreeSet 값을 정렬하지만 정렬방법을 지정할 수는 없다. 그래서 HashSet보다 상대적으로 느리다. Set의 메소드 메소드명 설명 반환값 toString() 리스트 값을 [값, 값...]의 문자열 형태로 돌려준다. String add(값) 값을 추가한다 boolean: add가 성공했는지 여부 addAll(콜렉션) Collection을 통째로 추가한다. boolean: add가 성공했는지 여부 contains(값) 리스트에 값이 들어있는지 확인 bool..
https://lelecoder.com/78 Java 리스트(List) 컬렉션 종류 ArrayList, Vector, LinkedList List 컬렉션의 종류로는 ArrayList, Vector, LinkedList가 있다. 애플리케이션 개발 업무를 하면서 List 컬렉션을 많이 사용한다. 특히 ArrayList를 많이 사용하고, 가끔 Queue 자료구조를 사용할 때만 LinkedList.. lelecoder.com 배열과의 차이점 배열 크기를 미리 알고 있어야 한다. 크기는 고정되어있다. 배열에 있는 중간 값을 빼내면 비어있는 채로 유지된다. index기반으로 접근이 가능하다. 기본자료형(primitive type), 클래스 자료형도 담을 수 있다. 리스트 크기가 고정되어있지 않고, 동적으로 할당된다..
객체지향 언어 특징들을 다룬 좋은 블로그가 있어 간단하게 정리해보았다. 요약이니 각 포스팅을 들어가서 자세하게 공부하자 https://codevang.tistory.com/78?category=827598 객체지향 언어의 특징(추상화) [1/4] 그럼 객체지향언어가 가지고 있는 대표적인 특징을 기준으로 C언어와 Java를 비교해보겠습니다. 1. 추상화 (Abstract) 중요한 정보만을 표현함으로써 공통의 속성이나 기능을 묶어 이름을 붙이는 codevang.tistory.com 추상화 어떠한 정보를 묶음으로 표현할 때 우리가 필요한 정보들의 형태만 모아서 선언해주는 것. 다시말해, 수많은 정보 중 클래스의 기능을 수행하기 위해 꼭 필요한 정보와 행위를 묶어서 설계하는 것 Java에서는 하나의 객체를 ..