MapleStory Cookie With Halo

☕ JAVA 114

[JAVA]SOLID란? 객체지향 설계원칙

SOLID객체지향 설계원칙  SRP Single Responsibility Principle단일 책임 원칙한 클래스는 하나의 책임만 가져야 한다.클래스와 메서드를 잘 분리해 한 메서드를 고치면 다른 클래스를 고칠 필요가 없어야 한다.변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것. OCP Open/Closed Priciple개방-폐쇄 원칙소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀있어야 한다.example) 인터페이스와 구현클래스LSP Liskov Substitution Principle리스코프 치환 원칙하위 클래스는 상위클래스의 의도에 맞게 기능을 구현해야 한다.example) 자동차 인터페이스의 엑셀은 앞으로 가라는 기능을 구현해야 한다. 뒤로 가게 구현된다면 LSP원칙을 위..

[JAVA]view ↔ java ↔ DB 연결 정리

위 화살표 위에 있는 기술들 없이는 각 부문은 연결될 수 없습니다. 스프링이 나오기 전톰캣을 컴퓨터에 설치하고java servlet을 이용하는 jsp나 php를 이용해 화면↔java를 연결했습니다.(※jsp나 php 같이 html을 서버에서 프로그래밍해서 동적으로 바꾸는 것을 템플릿 엔진이라 합니다.)java↔DB의 연결은 JDBC 이후 MyBatis를 이용해 연결했었습니다.스프링 프레임워크Denpendency라는 곳에 많은 기술들을 추가해서 사용할 수 있게되었다.이 추가된 기술들의 버전관리와 빌드 등을 도와주는 게 바로 Maven.스프링 부트좀 더 단순화되고 더 많은 것이 내장된 것이 바로 스프링 부트이다.※ 현재 JDBC, JSP 등이 많이 쓰이지 않는 건 이런 연결 기술들을 내장embed한 새로운 ..

[JAVA]JDBC란? 사용법까지 간략 정리

JDBC란?Java DataBase Connectivity DB에 접속할 수 있도록하는 자바API.각 데이터베이스마다 JDBC를 연결해주는 Driver가 따로 있기 때문에 각 DB에 맞는 JDBC Driver를 다운 받아 적용한다. (example. ojabc.jar)※ 현재는 잘 쓰이지 않지만, 워낙 많이 사용되었기에 아직도 남아있는 JDBC코드가 많습니다. 기본기라 생각되어 간단히 정리해 봅니다.💡 시작 전 DB driver를 lib폴더에 담아주어야 합니다.2025.01.01 - [💾 Data Base/⭕ Oracle] - [Oracle]ojdbc8.jar 위치. (+프로젝트 내 폴더 위치)  간단 실습  Class.forName("oracle.jdbc.driver.OracleDriver");→ ..

[JAVA][Stream]그룹화와 분할 partitioningBy() & groupingBy()

2024.12.18 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA][Stream]collect()와 Collectors partitioningBy() 와 groupingBy()  스트림을 분할하는 메서드는 두가지가 있습니다.Collectors.partitioningBy() : 스트림을 2분할한다.Collectors.groupingBy() : 스트림을 n분할한다.  Collectors.partitioningBy(): 스트림을 2분할한다. 1. 반환타입이 List인 partitioningBy(기준) 🌟 partitioningBy(매개변수)는 반드시 boolean이 반환되어야 한다. 더보기  2. 반환타입을 지정할 경우 partitioningBy(기준, 지정한 반환타입)..

[JAVA][Stream]collect()와 Collectors

💡 reduce()와 collect()의 차이2024.12.17 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA][Stream]최종 연산전체에 대한 연산을 할 때에는 reduce()사용하고, collect()는 그룹별로 연산할 수 있다.  collect( Collectors.메서드 ): Collector를 매개변수로하는스트림의 최종연산 메서드.  💡 Collector는 수집(collect)에 필요한 메서드를 정의해 놓은 인터페이스이다.Stream의 요소 T를 A에 누적한 다음 R로 반환한다.💡 Collectors클래스는 다양한 기능의 Collector를 구현하여 메서드로 사용할 수 있다. collect()는 매개변수로 (Collector)를 구현해 사용해야 한다는..

[JAVA][Stream]최종 연산

최종연산의 종류 최종 연산설명void  forEach(Consumer action)void  forEachOrdered(Consumer action)각 요소에 지정된 작업 수행.(향상된 for문과 비슷하다)병렬된 스트림일 경우 forEachOrdered()를 써야 순서가 유지된다.long count()스트림 요소 갯수.Optional  max(Comparator comparator)Optional  min(Comparator comparator)스트림의 최대값/최소값 반환.Optional  findAny()  // 아무거나 하나Optional  findFirst() // 첫 번째 요소(주로 filter()랑 같이 사용해서) 조건에 맞는 요소 중 하나를 반환한다.boolean  allMatch(Predic..

[JAVA]Optional<T>

Optional이란?" href="https://yeun-devlog.tistory.com/entry/JAVA%EC%A0%9C%EB%84%A4%EB%A6%AD-GenericT" target="_blank" rel="noopener">타입의 래퍼클래스  를 사용하기 때문에 모든 종류의 객체를 넣을 수 있다.null을 다루는 것은 NullPointerException의 위험이 있는데, Optional을 통해 null을 간접적으로 안전하게 다룰 수 있다.null을 Oprtional에 담아 사용하면, null이더라도 Optional객체를 반환하기에 예외발생의 위험이 사라진다.  생성하기Optional.of(객체);  💡 null이 담긴 Optional을 만들 경우Optional.empty()Optional.o..

[JAVA][Stream]중간 연산-map() peek() flatMap()

중간연산의 종류 중간 연산설명Stream  distinct()중복 제거.Stream  filter(Predicate predicate)조건에 맞지 않는 요소 제거.Stream  limit(long maxSize)스트림 일부 잘라내기.Stream  skip(long n)스트림 일부 건너뛰기.Stream  peek(Consumer action)작업 중간을 확인할 때 사용한다.Stream  sorted()Stream  sorted(Comparator comparator) 요소 정렬Stream DoubleStreamIntStreamLongStreammap(Function mapper)mapToDouble(ToDoubleFunction mapper)mapToInt(ToIntFunction mapper)mapToL..

[JAVA][Stream]중간 연산-filter() distinct() skip() limit() sorted()

중간 연산의 종류 중간 연산설명Stream  distinct()중복 제거.Stream  filter(Predicate predicate)조건에 맞지 않는 요소 제거.Stream  limit(long maxSize)스트림 일부 잘라내기.Stream  skip(long n)스트림 일부 건너뛰기.Stream  peek(Consumer action)작업 중간을 확인할 때 사용한다.Stream  sorted()Stream  sorted(Comparator comparator) 요소 정렬Stream DoubleStreamIntStreamLongStreammap(Function mapper)mapToDouble(ToDoubleFunction mapper)mapToInt(ToIntFunction mapper)mapTo..

[JAVA][Stream]스트림 생성

Stream은 Collection 혹은 Array를 이용해 만들어집니다.2024.12.13 - [☕ 자바 JAVA/☕ 클래스와 함수 Class & Method] - [JAVA]스트림 stream (+특징)각 변환방법들에 대해 알아보겠습니다. Collection → Stream.stream()   Array → Stream  배열을 스트림으로 바꾸는 방법은 두가지가 있다.Arrays. stream()Stream.of() ❗ 기본타입배열은 기본형스트림만 생성가능하다.  Random클래스의ints() doubles(), longs() 이용해서난수 스트림 만들기 💡 Random클래스의 ints(), doubles(), longs()는 난수. 무한으로 숫자를 생성할 수 있다.  난수 갯수 지정해서 만들기intS..

반응형