INTP 개발자
close
프로필 배경
프로필 로고

INTP 개발자

  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
  • 홈
  • 태그

Optional이란?

Optional 나온 이유? Optional 클래스는 Java 8부터 나온 개념으로 NPE를 방지하기 위해 나왔다. 우리가 자바 개발을 할 때 객체가 null값을 주게되는 경우가 있다. 이때 이 객체를 참조하면 null을 참조하는 것이 되기 때문에 NPE[NullPointerException] 예외가 발생하게 된다. 때문에 개발자들은 NPE 발생을 줄이기 위해 null 확인을 하기 위한 조건문을 추가하였다. User user = userService.getUser(id); if(user != null) { String email = user.getEmail(); } 위와 같이 조건문으로 null 확인을 하여 NPE를 방지한다 하더라도 이러한 방식은 코드를 어지럽히기에 가독성을 저하시킨다. Java는 이를..

  • format_list_bulleted Java
  • · 2022. 12. 5.
  • textsms
Java 스트림(Stream) 정리

Java 스트림(Stream) 정리

읽기 전에 스트림에 대해 몇 가지만 상기도록하자!! 💡 스트림은 데이터 소스를 변경하지 않는다! 스트림은 데이터 소스로 부터 데이터를 읽기만 할 뿐, 데이터 소스를 변경하지 않는다. 필요에 따라, 정렬된 결과를 컬렉션이나 배열에 담아서 반환한다. List sortedList = list.stream() .sorted() .collect(Collectors.toList()); 💡 스트림은 일회용이다. 스트림은 Iterator 처럼 한 번만 탐색할 수 있다. 만약 다시 탐색하고 싶다면 새로운 스트림을 만들어야 한다. Stream strStream = list.stream(); strStream.forEach(System.out::println); strStream.forEach(System.out::prin..

  • format_list_bulleted Java
  • · 2022. 12. 5.
  • textsms

[Java] 스트림 생성 (리스트, 배열을 스트림으로, 숫자 범위로부터 스트림, 파일로부터 스트림)

Collection의 Stream 생성 Stream stream = list.stream(); List list = Arrays.asList("kim", "lee", "choo"); 배열의 Stream 생성 Arrays의 stream 메소드 Stream stream = Arrays.stream(strArray); Stream stream = Arrays.stream(new String[] {"kim", "lee", "choo"}); Stream의 of 메소드 Stream stream = Stream.of(new String[] {"kim", "lee", "choo"}); // 가변 인자 Stream stream = Stream.of("kim", "lee", "choo"); 숫자 범위로부터 Stream 생..

  • format_list_bulleted Java
  • · 2022. 12. 5.
  • textsms

[Java] 변수명, 메소드명 작성법

Java 변수명 첫 글자 소문자 + 카멜 표기법을 사용 (lower Camel Case) 특수 문자는 '_'과 '$'만 허용 의도 분명한 구체적인 변수명 짓기 boolean 변수인 경우 접두어는 'is' 접미어는 ok/check/found/success/done/error List, Collection 등의 자료형은 복수형으로 표현한다. ex) memberList X → members Java 메소드명 첫 글자 소문자 + 카멜 표기법을 사용 (lower Camel Case) 의도 분명한 메소드명 짓기 고려사항: 왜 존재하는가 / 어떤 작업을 하는가 / 어떻게 작업하는가 메소드 접두어는 동사로 시작한다. get/set is/has/can init find, check etc.. 다른 타입으로 변환하거나 빌..

  • format_list_bulleted Java
  • · 2022. 10. 29.
  • textsms

[Java] SOLID: 객체 지향 설계 5원칙

📌SOLID: 객체 지향 설계 5원칙 https://yeo-computerclass.tistory.com/246 [Java] 객체 지향(OOP)의 4대 특성 📌객체 지향(OOP)의 4대 특성 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 💡추상화: 모델링 추상이란? 나에게 추상적이란 뜻은 구체적의 반대. 즉, 구체성이 없어서 무언 yeo-computerclass.tistory.com 바로 전의 객체 지향(OOP)의 4대 특성에 대해 설명을 하였다. 객체 지향의 4대 특성을 올바르게 사용하는 방법, 객체 지향 언어를 이용해 객체 지향 프로그램을 올바르게 설계해 나가는 원칙이 있다. 그것이 바로 객체 지향 설계 5원칙이며 5가지 원칙의 앞머리 알파벳을 따서 SOLID라 한다. SRP(..

  • format_list_bulleted Java
  • · 2022. 7. 23.
  • textsms

[Java] 객체 지향(OOP)의 4대 특성

📌객체 지향(OOP)의 4대 특성 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 💡추상화: 모델링 추상이란? 나에게 추상적이란 뜻은 구체적의 반대. 즉, 구체성이 없어서 무언가로 표현하기 어려운 것이라는 뜻으로 받아들였다. 나처럼 추상적이란 정의를 이런 뜻으로 받아들이고 있으면 추상화란 의미를 이해하기 힘들 것이다. 정의를 다시 살펴보도록 하겠다. 추상이란 여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용이다. 여기서 공통되는 특성이나 속성 따위를 추출한다는 말에 주목을 하여야 한다. 왜 피카소의 그림을 추상화라 부르고 수학이 추상적인 학문이라 할까? 피카소의 추상화 경우, 눈에 보이는 그대로의 모습이 아닌 작가가 마음속에 느껴지는 그 사람의 특징을..

  • format_list_bulleted Java
  • · 2022. 7. 22.
  • textsms
  • navigate_before
  • 1
  • ···
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (399)
    • Java (54)
      • 소개 (2)
      • 기본 문법 및 OOP (9)
      • Java API (0)
      • Java 응용 프로그래밍 (0)
      • Java 8+ (0)
      • Java 외부 라이브러리 (0)
    • Spring (1)
      • Spring Core (0)
      • Spring Web (0)
      • Spring Data (0)
      • Spring Batch (1)
      • Spring Infra (0)
    • Docker (7)
    • Messaging & Event (3)
      • EDA(Event Driven Architectu.. (2)
      • Kafka (1)
    • CS (17)
      • Architecture (1)
      • Newtwork (0)
      • OS(Operating System) (0)
      • Algorithms (0)
      • 면접 준비 (7)
      • 네트워크 (2)
      • HTTP (6)
      • 알고리즘 (1)
    • Web (13)
    • AWS (6)
    • Spring Framework (33)
    • Spring Boot (10)
    • Spring Data (22)
      • JPA (14)
      • Query DSL (7)
      • Redis (1)
    • Spring Security (9)
    • Spring Batch (4)
    • MyBatis (10)
    • Front-End (51)
      • JS (27)
      • Vue.js (17)
      • React (5)
      • JQuery (0)
      • d3.js (2)
    • DBMS (24)
      • SQL, RDBMS (16)
      • MongoDB (5)
      • Redis (3)
    • Kafka (3)
    • 리눅스 (Linux) (4)
    • 디자인 패턴 (3)
    • VCS (8)
    • API (0)
    • TOOL (3)
    • Reading Book (28)
      • 이펙티브 자바 (11)
      • Clean Code (10)
      • 1분 설명력 (4)
      • HOW TO 맥킨지 문제해결의 기술 (3)
    • C# (4)
    • NSIS (6)
    • JSP & Servlet (65)
      • 개념 (42)
      • 실습 (23)
    • ETC (11)
최근 글
인기 글
최근 댓글
태그
  • #이펙티브 자바
  • #Java
  • #회원 관리
  • #mybatis
  • #servlet
  • #jsp
  • #querydsl
  • #JDBC
  • #Docker
  • #게시판
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바