BackEnd/Java 60

[Java]예외처리(Exception)

1. 예외 처리란?- Exception(예외) 코드로 해결 가능한 에러 (if, try-catch, throws 등)  - Exception Handling(예외 처리)예외 발생 시 이를 처리하는 구문 (try-catch, throws) 1) 에러의 종류컴파일 에러프로그램의 실행을 막는 소스 코드상의 문법 에러. 소스 코드 수정으로 해결.런타임 에러프로그램 실행 중 발생하는 에러. 대부분 if문 사용으로 에러 처리 가능 (ex. 배열의 인덱스 범위를 벗어났거나, 계산식의 오류)시스템 에러컴퓨터 오작동으로 인한 에러, 소스 코드 수정으로 해결 불가 2) 예외 클래스 계층구조 Exception과 Error 클래스 모두 Object 클래스의 자손이며 모든 예외의 최고 조상은 Exception 클래스반드시 예외..

BackEnd/Java 2024.08.12

[Java]컬렉션(collection) StringBuilder / StringBuffer

StringBuilder / StringBuffer 클래스란? - String의 불변성 문제를 해결한 클래스 →  가변성(mutable)  - 기본 16글자 저장할 크기로 생성저장되는 문자열의 길이에 따라 크기가 증가/감소→ 마음대로 문자열 수정, 삭제 가능!→ 수정, 삭제를 해도 추가적인 객체 생성이 없어 효율 좋음! 1.  StringBuilder Thread Safe 미제공 (비동기, 추천) 2. StringBuffer  Thread Safe 제공 (동기) #예제1[service] public void test3() { // StringBuilder 객체 생성 StringBuilder sb = new StringBuilder(); // StringBuilder는 내부 필드에 // 문..

BackEnd/Java 2024.08.12

[Java]컬렉션(collection) String 불변성

String이란? - java.lang 패키지에서 제공  - 문자열을 저장하고 다루는 용도의 클래스  [String 객체를 생성하는 방법]  1) String s1 = "Hello";  // 리터럴 표기법을 이용한 방법→ Heap 영역 내부에 Constant(상수) Pool에 String 객체 생성  2) String s2 = new String("Hello"); // new 연산자 이용한 방법 -> Heap 영역에 String 객체 생성  [String의 불변성(immutable)] - String은 기본적으로 값이 변하는 것이 불가능 ex) String str = "abc";    // "abc" / 참조 주소 : 0x100str += "def";     // "abcdef" / 참조 주소 : 0x3..

BackEnd/Java 2024.08.12

[Java]컬렉션(collection) Map

1. Map이란? 특정 키워드 (Key)를 입력하면 해당되는 상세한 값(Value)을 얻을 수 있는 컬렉션 객체 1) K:V 형식으로 구성(K:V 한 쌍을 "Entry"라고 부름) - Key : 키워드 역할(== 변수명) - Value : 키워드에 해당하는 상세한 값 2) 중복 X -> 중복되는 Key 입력 시 Value를 덮어씌움 -> Key 역할의 객체는 hashCode(), equals() 오버라이딩 필수!  3) 순서 유지 X (단, LinkedHashMap 제외) - Key만 묶어서 보면 Set과 같은 특징을 지니고 있음! -> Map.keySet() / Map.EntrySet() 제공  - Key로 인해서 모든 Value가 구분됨 -> Map.get(Key) / Map.remove(Key) 형..

BackEnd/Java 2024.08.12

[Java]컬렉션(collection) Set

Set이란? (집합, 주머니)  - 기본적으로 순서를 유지하지 않음  (index 없음! → get() 메서드가 없음)  - 중복 데이터 저장 X (같은 객체가 들어오면 덮어쓰기) 1) int size()Set에 저장된 객체(참조 변수)의 수 반환 2)  boolean remove(E e)Set에 저장된 객체 중 같은 객체를 찾아 제거제거 성공 : true / 없으면 : false 3) boolean contains(E e)같은 요소가 있으면 true, 없으면 false 4) boolean isempty()비어있으면 true, 아니면 false 5) void clear()저장된 객체를 모두 제거   1. HashSet (대표) : 처리 속도가 빠른 Set  2. LinkedHashSet : 순서를 유지하..

BackEnd/Java 2024.08.12

[Java]컬렉션(Collection) 참조 변수를 부모 타입으로 작성하는 이유

왜 컬렉션 참조 변수를 부모 타입으로 작성하는가? => 프로그래밍 과정에서 미쳐 생각지 못한 비효율적인 요소를 쉽게 개선하기 위해 ex) ArrayList 만들었는데 중간에 추가, 삭제가 빈번히 일어나는 경우 -> LinkedList가 훨씬 효율적  LinkedList 만들었는데 검색이 빈번하게 일어나는 경우 -> ArrayList가 훨씬 효율적 [service] public void test3() {// List list = new ArrayList(); List list = new LinkedList(); Random random = new Random(); // System.currentTimeMillis()// -> 1970년 1월 1일 09:00:00:00 기준으로 // 현재 ..

BackEnd/Java 2024.08.12

[Java]컬렉션(collection) Wrapper

Wrapper Class란? - 기본 자료형을 객체(속성, 기능)로 감싸는 클래스 → 기본 자료형의 객체화  -> 왜? 컬렉션 처럼 객체만 취급하는 상황에서 기본 자료형도 취급 가능한 형태로 바꾸기 위해서 1) WrapperClass.parse자료형("문자열") - parsing(파싱) : 성질(형태) 자체를 다른 것으로 변경 - casting(형변환) : 값의 범위 변경 #예제 [service]package wrapper.service;// Java에서 중요한 클래스만 모아둔 패키지// -> String, Wrapper Class등// * 미작성 시 컴파일러가 자동으로 추가해주는 구문import java.lang.*;import java.util.ArrayList;import java.util.List..

BackEnd/Java 2024.08.12

[Java]컬렉션

1. 컬렉션이란? (List / Set / Map) 자바에서 제공하는 자료구조를 담당하는 프레임워크 - 추가, 삭제, 정렬 등의 기능처리가 간단하게 해결 되어 자료구조적 알고리즘을 구현할 필요 없음 - java.util 패키지에 포함( java.util 패키지에 포함된 것 : Scanner, Arrays, collection) -   객체만 저장 가능!!      (정확히는 객체 참조 주소만 저장 가능)  배열의 문제점컬렉션의 장점1. 한 번 크기를 지정하면 변경할 수 없다. 2. 배열에 기록된 데이터에 대한 중간 위치의 추가, 삭제가 불편하다. 3. 한 타입의 데이터만 저장 가능하다.1. 저장하는 크기의 제약이 없다. 2. 추가, 삭제, 정렬 등의 기능 처리가 간단하게 해결된다. - 자료를 구조적으로 ..

BackEnd/Java 2024.08.12