Optional Java8부터 Optional 클래스를 사용해 NPE(Null Pointer Exception)을 방지할 수 있다. 만약 null이면 안 되는 어떤 값을 검사해야 할 때, if 문들 사용해서 "null일 때는 어떻게 하고~ null이 아니면 어떻게 하고~"를 일일이 작성해야 하는 불편함이 있었다. Optional 을 사용하면 이 부분의 코드를 간결하게 바꿀 수 있다. Optional 이란? Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다. Optional로 설정된 값을 참조하더라고 NPE가 발생하지 않도록 도와준다. 즉, 예상치 못한 NPE 예외 발생을 피할 수 있어 권장되는 방법이라고 한다. Optional 객체 생성 of() 또는 ofNullable()을..
1. 배열이란? 동일한 자료형(Type)의 데이터를 하나의 연속된 공간에 저장하는 자료구조이다. 각 데이터의 저장 위치는 index(0부터 시작)를 부여해 접근한다. 정해진 크기의 메모리를 먼저 할당받아 사용한다. 즉, 선언할 때 크기를 미리 지정해야한다. 한번 선언하면 이후에 크기를 변경할 수 없다. 비어있는 인덱스가 존재해서는 안된다. 만약 특정한 값으로 초기화하지 않은 배열 안의 데이터를 참조하면 예외가 발생한다. 인덱스(index) 인덱스는 배열의 각 저장 위치를 가리키는 0부터 1씩 증가하는 값이다. 배열 이름 옆에 대괄호[ ]에 기입한다. int[] arr = new int[5]; arr이라는 이름의 배열이 있고, 5개의 저장공간을 갖는다. 첫번째 저장공간의 값을 가져올때는 arr[0], 두번..
1. String형 변수 선언 String str1 = new String("hello");//힙 메모리에 인스턴스로 생성됨 String str2 = "hello";//상수 풀(constant pool)에 있는 주소를 참조 힙 메모리에 생성되는 str1은 생성 될때마다 다른 주소값을 가진다. 상수풀의 문자열은 모두 같은 주소값을 가진다. // 힙 메모리의 인스턴스로 생성 String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1 == str2);//false System.out.println(str1.equals(str2));//true //상수 풀의 주소를 참조 String str3 = "abc..
컬렉션 프레임워크 JDK에서 자료구조를 구현해놓은 라이브러리 java.util 패키지에 구현되어 있음 개발 시간을 절약하기 위해 list, set, map 등 여러가지 알고리즘을 사용할 수 있음 java doc 링크 : https://docs.oracle.com/javase/8/docs/api/ 1. List 인터페이스 객체를 순서에 따라 저장, 관리 중복 허용 ArrayList, LinkedList, Vector, Queue 등 https://docs.oracle.com/javase/8/docs/api/ 2023.02.06 - [JAVA공부/자료구조] - [JAVA/자료구조] List 2. Set 인터페이스 객체를 순서와 관계없이 저장, 관리 아이디, 사번, 주민번호 등 유일한 값을 관리하는데 유용 중..
toString() 객체의 정보를 String으로 바꿔서 사용 String, Integer 클래스는 이미 재정의 되어있음 이클립스에서 [ shift + alt + s ] - Generate toString()... 로 자동 생성 가능 class Car{ String color; int num; public Car(String color, int num) { this.color = color; this.num = num; } //toString() 오버라이딩 @Override public String toString() { return "Car [color=" + color + ", num=" + num + "]"; } } public class Test { public static void main(St..