목록자바 (6)
송민준의 개발노트
예전에 Builder 패턴을 처음 들었을 때 lombok에 Builder를 사용하는 건줄 알았다.(무지했다... 지금도 무지하지만...) Builder 패턴은 말 그대로 우선 전체를 구성하고 있는 각 부분을 만들고 단계를 밟아 만들어 나가는 것을 말한다. 텍스트 및 HTML 문서를 만드는 Builder를 예로 들겠다. 1. Builder 클래스 추상클래스로서 실제의 처리는 기술하지 않고, 추상 메소드만 선언되어 있다. 구체적인 처리는 하위 클래스에 맡긴다. /** * 문서를 구성하기 위한 메소드를 결정하는 추상 클래스 */ public abstract class Builder { public abstract void makeTitle(String title); public abstract void mak..
먼저 추상화란 뭐인가...? 사전적 의미로는 추상화란 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추린 것이라고 하는데 간단하게 말해서 공통된 것들끼리 묶어 표현한 것인데 나열된 장점으로는 코드의 재사용성, 가독성, 방향성 등등이 있는 것 같다. 추상 클래스란? 일단 개념적 의미로는 완전하게 구현되어 있지 않은 메소드를 가지고 있는 클래스를 의미함! 물론 메소드가 미완성이니 객체를 생성할 수도 없음. 추상적인 개념을 나타내기 위한 용도로 사용함! 예를 들어 탈것이라는게 있는데 이게 자동차인지 비행기인지 혹은 더 특별한 것인지 알 수가 없다. 간단하게 달린다라는 기능이 있다는 것인데 여기서 탈것은 구체적으로 어떻게 달리고 어떤 것을 주유하는지는 알 수가 없음. 이러한 탈것이 추상클래..
제네릭이란? 하나의 코드를 여러 타입에 대하여 재사용할 수 있도록 해주는 기술 중 하나임. 하남디로 클래스를 정의할 때, 구체적인 타입을 적지 않고 변수 형태로 적어 놓는 것임. 클래스를 사용하여서 객체를 생성할 때, 구쳊거인 타입을 적어주면 됨. 사용 방식 ex) class MyClass { ... } 보면 클래스 옆에 T라고 했는데 이는 데이터의 타입을 구체적으로 적지 않고 T라고 하는 타입 매개변수로 표시하는 것임 만약에 특정 타입을 지정해주고 싶다면 class MyClass { ... } 위와 같이 해주면 된다. 보통 T가 들어가는 자리에 Object가 들어가야 한다고 생각할 수도 있지만 T라는 놈은 클래스 타입, 인터페이스 타입, 배열 타입 등을 나타낼 수 있음. 다만 기초 자료형은 클래스가 아..
코딩을 하다보면 String 인스턴스에서 빈값인지 체크를 해야 하는 경우가 있다. 나는 isEmpty를 종종 사용하는데 isEmpty() 로는 == "" 을 체크할 수 있지만 == null 은 체크가 안된다.
기존에는 간단하게 아래처럼 필터를 했는데 한계를 느끼고 jsoup를 사용해봤다. private String replaceParameter(String param) { String result = param; if(param != null) { result = result.replaceAll("",">"); result = result.replaceAll("[(]","("); result = result.replaceAll("[)]",")"); } return result; } pom.xml에 추가 org.jsoup jsoup 1.12.1 https://mvnrepository.com/artifact/org.jsoup/jsoup service.java @Override public void insert_b..
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 | 프로그래머스 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 r programmers.co.kr 전화번호부에 있는 값들이 다른 전화번호에 접두어가 될 수 있는가를 푸..