목록Java (38)
Java / Spring
논리 연산자 && Loop 수행 시,첫 Loop에서 왼쪽 조건이 true 가 아니면 다음 loop 진행 시 왼쪽 조건(++i)만 수행 되고 오른쪽 조건(++j > 1) 은 수행이 안된 상태로 다음 loop 로 넘어감 (0 인 상태) ex) loop 1 : i = 1, j = 0 (loop1 에서는 i를 먼저 증감 시키고 조건을 확인 했을 때, false 이기 때문에 i만 증감 연산 진행 후 j는 연산 수행 하지 않고 다음 loop 진행) loop 2 : i = 2, j = 1 (loop2 에서는 i는 true 이기 때문에 오른쪽 증감 연산 ++j 실행 후 false, 다음 loop 진행) loop 3 : i = 3, ..

01_ 예외 처리프로그램 실행 중에 발생 할 수 있는 예상치 못한 상황에 대해 예외(Exception)를 처리하기 위한 메커니즘 제공** Keyword- try, catch, finally / throw, throws** 예외 처리 상속 관계- 상위 예외처리 시, 하위 예외로 함께 처리 할 수 있다.- Throwable 예외를 처리 할 시, 그 하위의 있는 Exception 과 Error 도 함께 예외 처리가 된다.( 그러나 Error 는 예외 처리 하면 안되는 심각한 오류이기 때문에 Throwable 은 예외 처리 하면 안됨 ) 1) 체크 예외 (Exception , SQLException, IOException)- 체크예외는 잡아서 처리하거나 또는 밖으로 던지도록 선언 (컴파일 오류 발생) keyw..

01_ 중첩 클래스, 내부 클래스- 클래스 내부에 또 다른 클래스를 정의 하는 것- 중첩 클래스는 4종류가 있고 크게 두 가지로 분류* static : 정적 중첩 클래스* non static : 내부,지역,익명 클래스 1) 중첩 클래스의 선언 위치2) 중첩과 내부의 개념- 중첩 (Nested) : 나의 안에 있지만 내것이 아닌 것ex) 큰 나무 상자안에 다른 나무 상자가 들어 있는 것 (두 상자 내부에 존재하는 요소가 다르다!!) - 내부 (Inner) : 나의 내부에서 나를 구성하는 요소ex) 나의 심장,간,콩팥은 나의 내부를 구성 하는 요소이다. ※ 중첩과 내부를 구분하는 기준은 인스턴스(같은 인스턴스 or 다른 인스턴스)에 있다.- 정적 중첩 클래스 인스턴스 소속 x- 내부 클래스는 바깥 클래스 구..

01_ 날짜와 데이터 시간* java.time.* 패키지 사용 (import) - 타임존 : [ Asia/Seoul ] 과 같은 지역 정보, 세계의 각 타임존은 UTC(협정 세계시)로부터의 시간 차이로 정의>> UTC : 1970년 01월 01일 자정을 0밀리초로 설정하여 기준을 삼아 그 후로 시간의 흐름을 밀리초로 계 - 오프셋 (offSet) : 처음 주어진 요소나 지점까지의 변위차를 나타냄- 일광절약시간(DST) : 일광 절약 시간이 적용 되는 경우, 타임존 차이가 변할 수 있음 1) LocalDate : 날짜만 표현 할 때 ex) 2013-11-21 2) LocalTime : 시간만을 표현 할 때 ex) 08:20:30.213 3) LocalDateTime : 위의 LocalDate, Loc..

01_ 열거형(Enum Type) ** 타입 안전 열거형 패턴 - ClassGrade 클래스에 등급을 고정으로 선언 (BASIC, GOLD, DIAMOND)- 후에 고정된 등급 이외의 다른 생성을 차단하는 메서드를 private 로 선언1) ClassGrade 클래스package enumeration.ex2;// 타입 안전 열거형 패턴public class ClassGrade { // 각 등급에 대한 참조값을 각각 생성 public static final ClassGrade BASIC = new ClassGrade(); public static final ClassGrade GOLD = new ClassGrade(); public static final ClassGrade DIAMO..

01_ String 클래스- char[] 에 문자열이 보관 = String- 영어 / 숫자 = 1byte- 한글 = 2byte- 영어/숫자 & 한글 = 2byte 01_1 문자열 pool (같은 문자열을 사용하기에 메모리와 성능 효율 증가)- String str1 변수가 특정 문자열을 생성 시 하나의 String pool 에 삽입 한다그리고 String str2 변수가 str1 과 같은 문자열을 선언 할 때 추가로 만들지 않고 기존 str1 이 사용했던 String pool 내부에 이미 만들어져 있는 문자열을 반환 한다 ( = 같은 참조값 )>> 하나의 String pool 에 들어있는 문자열은 모두 같은 참조 값을 가지기 때문에 두개의 String 문자열을 비교 연산자 '==' 로 비교 하였을 때 't..

01_ compareTo() 메서드는 Java 에서 문자열과 숫자 비교 시 사용 ** 비교 결과 값은 정수로 표현되고, 리턴되는 정수의 값이 음수인지 양수인지 0인지 따라 대소로 표현반환 값이 0 또는 음수이면 자리가 그대로 유지되며, 양수인 경우에는 두 객체의 자리가 바뀐다. 오름차순으로 정렬하고 싶으면, 아래와 같이 구현한다. 디폴트 값 : 현재 객체 - 파라미터로 넘어온 객체 - 현재 객체 음수 리턴- 현재 객체 == 파라미터로 넘어온 객체 -> 0 리턴- 현재 객체 > 파라미터로 넘어온 객체 -> 양수 리턴1) 숫자 비교package compare;public class CompareMain { public static void main(String[] args) { Inte..

01_ Object 클래스- 모든 클래스의 부모 클래스 (모든 객체를 참조 가능)- Java 에서 상속되지 않은 클래스는 묵시적으로 Object class 를 상속 받는다. ex) codepackage lang.object;// 부모가 없으면 묵시적으로 Object 클래스를 상속 받는다.// >> public class Parent == public class Parent extends Object {}public class Parent { public void parentMethod() { System.out.println("Parent.parentMethod"); }} - object 메서드의 한계 01_1 Object의 메서드 1) tostring() == Object..
01_ 컬렉션(Collection)- 가변 크기로서 객체의 개수를 염려할 필요 없다.- 컬렉션 내의 한 객체가 삭제되면 컬렉션이 자동으로 자리를 옮겨 준다.- 배열이 가진 고정 크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색할 수 있는 가변 크기의 컨테이너 이다. 02_ HashMap 이란?- HashMap 은 키(K) 와 값(V) 의 쌍으로 이루어지는 키(key)와 값(value)의 데이터를 저장한다. 02_1 .put();- key와 value 쌍을 해시맵에 저장사용 예 )result.put("apple", "사과"); // "apple" 키(K)와 "사과" 값(V) 두개를 result에 삽입 02_2 .get();- 저장된 키의 값 리턴사용 예 )String kor = result..
- Optional은 값이 없는 경우를 표현하기 위한 클래스 - Optional 클래스는 제네릭을 사용하여 어떤 타입의 객체도 감싸서 담을 수 있다. (Optional 객체는 값이 존재할 수도 있고 존재 하지 않을 수도 있다)>> 이는 NullPointerException 예외를 방지 할 수 있고, 코드의 안정성을 높이며 가독성 향상 ex) code by Optionalimport java.util.Optional; public class OptionalExample { public static void main(String[] args) { String str = "Hello, World!"; // null이 아닌 값을 가지는 문자열 변수Optional optionalStr = Optional.o..