Java 9

[Java] Null Check

1. 개요 우리가 자바로 프로그램을 개발하다보면 가장 쉽게 마주할 수 있는 오류는 NullPointerException(java.lang.NullPointerException)일 것이다. 이는 보통 객체 값이 null이거나 초기화가 안되어 있는 인스턴스를 사용할때 발생하게 된다. Null 객체에서 method를 호출하는 경우 Null 객체의 필드에 접근하거나 값을 변경하는 경우 Null 의 길이를 배열처럼 취하는 경우 Null을 throw하는 경우 Null을 통해 동기화 할 경우 public class Sample { public static void main(String[] args){ Foo foo = null; foo.toString(); // NullPointerException foo.equal..

Java 2022.11.25

[Java] JSON 변환 라이브러리 Jackson에 대해

1. Jackson이란? Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는 데 사용할 수 있는 Java 라이브러리이다. (jackson - Github주소) 2. Jackson의 특징 Stream API: 스트림 형식으로 데이터를 분석하고 생성하기 때문에 성능이 좋다. Tree Model: XML의 DOM처럼 Node 형태로 데이터를 다룰 수 있기 때문에 유연성이 좋다. Data Binding: POJO기반의 자바 객체들을 JSON으로 변환시킬 수 있다. 3. Jackson의 코어 모듈 Streaming("jackson-core"): 로우레벨 스트리밍 API를 정의하고 JSON관련 구현을 포함한다. Annotations("jackson-annotations"): 표..

Java 2022.11.22

[Java] 예외처리

1. 예외란? 개념적으로 예외란, 어떤 이유로 컴퓨터가 더 이상 프로그램을 진행할 수 없는 상태가 되는 것을 의미한다. 예를 들어서 배열의 크기보다 큰 곳을 접근하려 한다던가, 0으로 수를 나누려 한다던가, 가져오려는 값이 Null일 경우 등등.. 프로그램을 만들다 보면 수없이 많은 오류를 마주치게 된다. 이러한 오류들은 프로그램이 오동작을 하지 않도록 하기 위한 선기능이 있으며, 이러한 오류들을 무시하고 싶을 때도 있고, 오류가 날때 적절한 처리를 하고싶을 때도 있을 것이다. 이러한 예외들을 자바에서는 어떻게 처리하는지 살펴보고, 보다 안전하고 유연한 프로그래밍을 구사해보자. 2. 예외 처리 기본 (try / catch) Java의 예외처리의 기법에 대해서 살펴보자. 다음은 예외처리를 위한 try, c..

Java 2022.09.22

[Maven] mvn clean install

1. mvn clean, install 명령어는? clean: 빌드시 생성된 모든 것들을 삭제해준다. Maven에서 자체 빌드 수명 주기 단계이다.(action이나 task로 생각할 수 있다.) 주로 빌드 결과물인 target폴더의 내용을 모두 삭제해준다. install: 프로젝트를 빌드하여 jar 실행 파일을 만들어주는 명령어이다. local repository에 패키지를 배포한다. 의존성 있는 다른 프로젝트에서 local repository에 존재하는 패키지를 참조할 수 있게 된다. 2. 메이븐 생명주기 (Maven lifecycle) (1). process-resources /src/main/resources 디렉토리를 에 생성한다. (2) complie 소스코드를 컴파일해서 클래스를 에 생성한다...

Java/Maven 2022.09.22

[Java] 빌더 패턴(Builder Pattern)에 대해

1. 빌더 패턴(Builder Pattern)이란? 빌더 패턴은 복잡한 객체를 생성하는 방법을 정의하는 클래스와 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공하는 패턴이다. 빌더 패턴은 생성해야 되는 객체가 Optional한 속성을 많이 가질 때 빛을 발휘한다. 2. 빌더 패턴(Builder Pattern)을 사용해야 하는 이유 생성자와 수정자로 구현된 다음과 같은 Employee 클래스를 바탕으로 왜 생성자나 수정자보다 빌더를 써야하는지 이해해보도록 하자. @NoArgsConstructor @AllArgsConstructor public class Employee { private String id; private String name..

Java 2022.08.30

[Java] Ubuntu에 AdoptOpenJDK 설치

수동으로 설치할 수도 있지만 패키지 매니저로 간단하게 설치할 수 있다. # adoptopenjdk의 패키지를 인증하는데 사용하는 키를 신뢰할수 있는 키 목록에 추가한다. wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - # adoptopenjdk의 apt repository를 추가한다. sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ # 현재 사용 가능한 패키지와 그 버전에 대해서 리스트를 업데이트 해준다. sudo apt update # 아래 목록중 설치하고자하는 버전과 JVM type(hotsp..

Java 2022.08.10

Maven repository 설정

1. 개요 maven을 이용하여 원하는 라이브러리를 손쉽게 프로젝트에 추가할 수 있다. 이 때, 라이브러리가 저장된 곳을 maven repository라고 한다. 1) maven local repository의 기본 경로 windows : c:\Users\사용자계정\.m2\repository linux : /home/사용자계정/.m2\repository 2) maven repository 경로 수정 방법 maven/conf 경로 안에 settings.xml 파일을 이용하여 maven repository 경로 수정이 가능하다. 사이에 경로를 추가하면 된다. (덧붙여 위의 설정파일을 보면 Default 경로가 ${user.home}/.m2/repository임을 알수 있다.) 3) 서버 메이븐 폴더 위치 찾..

Java/Maven 2022.08.03

Maven에 대해

1. Maven이란? Maven이란 자바용 프로젝트 관리 도구이다. (공식사이트: Apache Maven Project) Maven은 프로젝트의 전체적인 LifeCycle을 관리하는 관리도구이다. 프로젝트 객체 모델(Proejct Object Model:POM) 이라는 개념을 바탕으로 프로젝트의 의존성 관리, 라이브러리 관리, 프로젝트 LifeCycle 관리 기능 등을 제공한다. 플러그인을 기반으로 소스코드로부터 배포 가능한 산출물을 만들어내는 빌드 기능을 제공한다. 빌드(build) 란? 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨어 가공물로 변환하는 과정 또는 그에 대한 결과물이다. 이를 좀더 쉽게 풀어 말하자면 우리가 작성한 소스코드(Java), 프로젝트에서 쓰인 각각의 파일 및 자원 ..

Java/Maven 2022.08.03

Java로 간단한 콘솔 연락처 프로그래밍

1.개요 친한 형님께서 학원에서 숙제를 받으셔서 작은 도움을 요청하셨다. 도움을 드리는 김에 이 주제로 한번 포스팅을 해보고자 한다! 목표: 자바로 개발하여 콘솔에서 다룰수있는 간단한 연락처 (입력, 조회, 검색, 삭제) 기능 개발 2. 구현코드 2.1 Student Class Class의 이름은 Student이고, 멤버변수(속성) 으로 String type의 name, phone, birth가 있다. 각각의 getter, setter 메서드가 있고, showInfo()메서드를 호출하면 해당 멤버변수의 값들을 print로 출력한다. class Student{ //멤버변수 private String name, phone, birth; //생성자 Student(String name, String phone,..

Java 2021.07.09
반응형