JAVA 6

빌더 패턴(Builder pattern)을 써야할까?, @Builder

#0 여는 말 : @AllArgsConstructor를 대체할 방법은? @AllrArgsConstructor은 모든 필드값을 순서대로 파라미터로 받는 생성자이다. 그러나 필드 순서대로 생성자가 생성됨으로써 코드상 필드 순서를 바꿔도 적용되지 않아 실제 넣고싶은 값이 잘못들어가거나 파라미터에 넣을 값이 길어지면 파라미터에 각각 어떤 값이 들어가는지 개발자들이 바로 알 수가 없다. 이걸 대체할 방법이 무엇일까? => 바로 파라미터의 순서가 아닌 이름으로 값을 설정하는 빌더(Builder)이다 #1 빌더 패턴(Builder pattern) 이란?🤔 (1) 빌더의 정의와 간단한 설명 기존의 복잡한 객체의 생성하는 과정과 표현하는 방법을 따로 분리시켜 다양한 구성의 인스턴스를 만드는 생성 패턴이다. 쉽게 말해서 ..

JAVA 2024.02.23

object 클래스의 메서드와 instance of

부모 클래스가 없는 자식 클래스는 컴파일러에 의해 자동으로 object클래스를 상속받게 된다. 다음은 상시로 쓸 수 있는 object 클래스 메서드를 정리해보려고 한다. 📕 object 클래스의 메서드 종류 Object clone() : 해당 객체의 복제본을 생성하여 반환한다. (Cloneable 인터페이스를 구현한 클래스만 복사 가능함) boolean equals(Object obj) : obj객체와 현재객체가 같은지 비교하여 결과를 반환한다. Class getClass() : 현재 객체의 클래스 정보를 담은 Class타입의 객체를 반환한다. int hashCode() : 자바에서 객체를 식별하는 정수값인 해시 코드를 반환한다.(현재 객체의 해쉬코드 값을 반환) String toString() : 해당..

JAVA 2024.01.23

지역변수, 다형성 형변환, instanceOf

📕 지역 변수 public class Main { public static void main(String[] args) { Main main = new Main(); // 인스턴스화 시키기 // static 안에 새로운 객체 만들 수 있는 이유 : 기본 생성자가 디폴트로 생성되어져 있기 때문 // (생략 가능해서 지워져 있는 것뿐이다) // 메서드 호출 : main.getClass() System.out.println("main.getClass() = " + main.getNumber()); System.out.println("main.getClass() = " + main.getNumber()); System.out.println("main.getClass() = " + main.getNumber())..

JAVA 2024.01.04

메서드, 매개변수, 인스턴스 멤버와 클래스 멤버의 차이점은?

📕 객체의 행위 - 메서드 1) 메서드 선언 더보기 리턴타입 메서드명(매개변수, ...) { 실행할 코드 작성 } double brakePedal() {...} // double 타입 반환 char changeGear(char type) {...} // char 타입 반환 boolean onOffLights() {...} // boolean 타입 반환 void horn() {...} // 반환할 값 없음 리턴타입 기억할 점 : 메서드는 실행할 때 return문을 만나면 그대로 종료하게 되는데 void 타입일 때 return; ← 이렇게 return문을 사용하여 원하는 지점에서 메서드를 종료할 수도 있다 매개변수 기억할 점 : 위의 예시 horn()과 같이 전달하려는 매개변수 값이 없다면 생략이 가능하다 ..

JAVA 2024.01.03

배열(초기화, 복사..)과 컬렉션 종류

📕 배열 초기화 배열 초기화할 때 쓰는 3가지 방법 // 배열 초기화 방법 3가지 정리 import java.util.Arrays; // Arrays 클래스를 import 하기 public class Main { public static void main(String[] args) { //1. 배열에 특정값 대입하며 선언 - 중괄호 {} 를 사용해서 초기화 int[] intArray = {1, 2, 3, 4, 5}; String[] stringArray = {"a", "b", "c", "d"}; //2-1. for문을 통해 값을 대입하여 초기화 for (int i = 0; i < intArray.length; i++) { intArray[i] = i; } //2-2. for-each문을 통한 배열 출력하..

JAVA 2024.01.02

[JAVA] JAVA 이모저모

자바 정리 시작..! 자바 공부하면서 전부 다 블로그에 정리하기엔 방대하고 나와 남들이 헷갈리기 쉬운 부분을 정리해서 올리려고 한다. 📕 JAVA 구동원리 - JVM : Java Virtual Machine 자바 가상 머신 ( = 가상의 기기를 만들어주는 것을 의미 ) - 클래스 로더 : Java .class 바이트 코드를 메모리 영역에 담는 운반기 - JIT 컴파일러 : 인터프리터의 효율을 높여주는 서포터 해석기( = 빠른 Java .class 코드 해석기 ) - 메모리 영역 : 운영체제로 부터 JVM이 할당받은 메모리 영역 ( = Java 데이터를 저장하는 영역 ) - 가비지 컬렉터 : 메모리 영역에서 안쓰는 데이터를 주기적으로 흡수해가는 청소기 ( = Java 쓰레기 청소기 ) - JRE : Jav..

JAVA 2023.12.29