java

    Lombok

    Lombok Java에서 자주 반복되는 코드(Getter, Setter, 생성자 등.. )들을 어노테이션을 통해 자동으로 생성해 주는 라이브러리이다. 코드를 깔끔하게 작성하여 가독성이 좋은 장점이 있지만, Annotation의 무분별한 사용은 오히려 문제가 될 수 있다. @, Annotations @Getter,@Setter 클래스의 맴버 변수들에 대한 getter, setter 메소드를 생성한다. 생성된 메소드들은 기본적으로 public AccessLevel를 통해 접근제한자를 설정해 줄 수 있다. (PRIVATE, PROTECTED...) 원하는 변수에만 Getter 혹은 Setter를 설정해줄 수 있다. @Getter public class Member { private String name; @S..

    JAR & WAR

    JAR, WAR 모두 JAVA의 jar 툴을 이용하여 생성된 압축(Archive, 아카이브) 파일이며 어플리케이션을 쉽게 배포하고 동작시킬 수 있도록 관련 파일(리소스, 속성파일 등)들을 패키징 해주는 것이 주 역할이다. JAR ( Java Archive ) JAR란, Java ARchive의 약자로, .jar 확장자 파일에는 Class와 같은 Java 리소스와 속성 파일, 라이브러리 및 액세서리 파일이 포함되어 있다. 쉽게 JAVA 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일로 생각하면된다. 실제로 JAR 파일은 플랫폼에 귀속되는 점만 제외하면 WIN ZIP파일과 동일한 구조이다. JAR 파일은 원하는 구조로 구성이 가능하며 JDK(Java Development Kit)에 포함하고 있는..

    String Method

    String (문자열) 프로그래밍 개발에서 자주 사용되는 클래스 중 하나는 문자열 문자열은 불변하는 객체이다. 그렇기 때문에 문자열의 내용이 변경되는 메소드를 사용하더라도, 문자열 자신이 변경되는게 아니라 변경된 새로운 문자열이 반환된다는 사실을 잊으면 안된다. 자주 사용하는 String(문자열) 함수 int length() 문자열에 있는 공백을 포함한 모든 문자 수 반환 s.length(); int indexOf(String str) 문자열이 나타나기 시작한 처음 인덱스를 반환한다. 찾지 못하면 -1 반환 s.indexOf("찾을문자"); indexOf(String str, int fromIndex) fromIndex 이후로 찾을문자열이 처음 나타나는 인덱스를 반환 찾지 못하면 -1 반환 s.index..

    Enum

    Enum, 열거형이란? 일반적으로 상수를 정의할 때, public static final String 로 상수를 정의한다. 하지만 이렇게 상수를 정의하면서 다양한 문제들이 발생하게 되었고, Java 1.5버전부터는 서로 연관된 상수들의 집합을 의미하는 열겨형 클래스 Enum을 도입하게 되었다. 자바의 열거형은 열거형이 갖는 값과 타입까지 관리하기때문에 보다 논리적인 오류를 줄일 수 있다. 상수값이 바뀌면, 해당 상수를 참조하는 모든 소스를 다시 컴파일해야되지만, 열거형 상수를 사용하면 기존의 소스를 다시 컴파일 하지 않아도 된다. 예시) Card 클래스 class Card { static final int CLOVER = : 0; static final int HEART = 1; static final ..

    Try-with-resource

    Try-with-resources 자바 라이브러리에는 close 메소드를 호출해 직접 닫아줘야하는 자원이 많다. InputStream, OutputStream, java.sql.Connection 등이 좋은 예다. 자바를 이용해 외부 자원에 접근하는 경우 한가지 주의해야할 점은 외부자원을 사용한 뒤 제대로 자원을 닫아줘야한다는 점이다. 자원 닫기는 클라이언트가 놓치기 쉬운 부분이기 때문에 예측할 수 없는 성능 문제로 이어질 수 있기 때문이다. try-with-resources는 try(...)에서 선언된 객체들에 대해서 try가 종료될 때 자동으로 자원을 해제(종료)해주는 기능이다. 즉, 따로 finally 블록이나 모든 catch 블록에 종료 처리를 하지 않아도 된다. try에서 선언된 객체가 Auto..

    final 키워드

    final keyword final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있다. final을 변수, 메소드, 클래스에 선언하면 조금씩 할 수 있는 부분들이 제한 된다. 자바에서 final 키워드는 여러 컨텍스트에서 오로지 한 번 할당될 수 있는 entity를 정의할 때 사용된다. [위키피디아] 재 정의를 못하게 하는것 한 번 인스턴스가 할당되면 절대 재할당 될 수 없는것 final 키워드는 총 3가지에 적용할 수 있다. final 변수 원시타입, 객체타입, 클래스 필드, 메소드 인자 final 메소드 fianl 클래스 final 키워드 활용 및 사용법 final 변수(필드) 해당 변수가 생성자나 대입연산자를 통해 한 번만 초기화 가능함을 의미한다. 상수를 만들 때 응용한다. 1. 원시타입..