개발/Java 6

[Java] Lombok이란? @Data, @NoArgsConstructor, @AllArgsConstructor, @Builder 사용하기

최근에 회사와 개인 프로젝트에서 Lombok을 사용하게 되었다. 단순히 @Data 어노테이션으로 getter, setter 코드 작성하는 걸 줄여주는 것만 있는 줄 알았는데, 생각보다 유용한 기능이 더 많았다. 편리한 만큼 잘못 사용하기도 쉽기도 하니 각 어노테이션별 특징은 더 알아보고 업데이트해야될 것 같다. Lombok이란? 여러가지 어노테이션을 제공하여 반복되는 소스코드를 컴파일 과정에서 자동으로 생성해주는 Java 라이브러리이다. @Data 사용 방법 : https://projectlombok.org/features/Data @Data projectlombok.org @NoArgsConstructor, @AllArgsConstructor 사용 방법 : https://projectlombok.org..

개발/Java 2023.01.27

[Java] 람다식

람다식(Lambda Expression)이란? 함수를 하나의 식으로 표현한 것으로, 이름이 없는 익명함수(Anonymous Function)의 한 종류이다. 불필요한 코드를 줄이고 가독성을 높이기 위해 사용한다고 한다. 기존 구현 방식 매개변수 메소드명(파라미터, ...) { 실행문 } 람다 방식 중괄호({}) 안에 함수의 코드를 작성하며, 한 문장인 경우 괄호 생략이 가능하다. 다만, 한 문장이어도 return문이 있으면 반드시 중괄호 안에 작성해야 한다. (매개변수, ...) -> { 실행문 } 람다식의 특징 람다식 내의 지역변수는 final로 선언하지 않아도 상수로 간주된다. 람다식으로 선언된 변수명은 다른 변수명과 중복될 수 없다. 멀티쓰레드를 활용하여 병렬 프로그래밍이 가능하다. 장점 코드가 간..

개발/Java 2022.09.05

[Java] 추상 클래스와 추상 메서드

추상 클래스(abstract class)란? 클래스의 공통된 부분을 별도의 클래스로 만들고 상속해서 사용하는 것. 클래스가 가지는 모든 속성과 기능을 가지고 있다. 추상 메서드(선언만 되어있고 정의되지 않은 메서드)를 가지며, 자식 클래스에서 반드시 구현해야 한다. 추상 메서드(abstract method)란? 자식 클래스에서 반드시 오버라이딩 해야만 사용할 수 있는 메서드. 추상 메소드가 포함된 클래스를 상속 받는 자식 클래스가 반드시 메소드를 구현하도록 하기 위해 사용한다고 한다. 예를 들면, 생산성 향상을 위해 공통적인 부분은 미리 구현해 놓고 필요한 부분만 자식 클래스에서 구현하여 사용하는 것이다. 예제 Animal 클래스에서 공통 메소드인 eat()를 구현 후 자식 클래스인 Cat 클래스와 Do..

개발/Java 2022.09.01

[Java] 배열과 메모리

배열 변수는 배열 데이터의 주소를 담고 있다. 배열 요소 출력은 Arrays.toString()으로, 배열 주소 출력은 변수명으로 작성하면 된다. int[] arr1 = {1, 2, 3}; int[] arr2 = null; int[] arr3 = {4, 5, 6}; int[] arr4 = null; System.out.println("arr1 : " + Arrays.toString(arr1)); System.out.println("arr2 : " + Arrays.toString(arr2)); System.out.println("arr3 주소 : " + arr3); System.out.println("arr4 주소 : " + arr4); 실행 결과는 아래와 같다. arr1 : [1, 2, 3] arr2 :..

개발/Java 2022.08.22

[Java] 자료형

자료형은 크게 기본 자료형과 객체 자료형으로 나뉜다. 1. 기본 자료형 데이터가 변수에 직접 저장된다. 정수형 byte(1byte), char(2byte), short(2byte), int(4byte), long(8byte) 실수형 float(4byte), double(8byte) 논리형 boolean(1byte) - true/false를 나타낸다. 2. 객체 자료형 객체 메모리 주소가 변수에 저장된다. (레퍼런스, C 계열 언어의 포인터와 같은 개념임) 문자열을 나타내는 String은 객체 자료형이다. 아래와 같이 초기화 하여 사용할 수 있다. String str = new String(); str = "Hello World?"; String str2 = "Hello World!"; 3. 형 변환 자동..

개발/Java 2022.08.22