It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

Back-End 58

[Java 교육] 람다식 마무리/스트림 (다시 복습 필수)

[공부 내용 정리] java.util.function 패키지 : 함수형 인터페이스 제공 Runnable 매개변수와 리턴 값 모두 없는 경우 package java.lang; @FunctionalInterface public interface Runnable { public abstract void run(); } 아래 예시처럼 매개변수와 리턴값(타입)이 없는 람다식을 참조 가능함. Runnable r = () -> System.out.println("출력문 테스트"); r.run(); // "출력문 테스트" Supplier 매개변수는 없고, 리턴값(타입)이 있습니다. package java.util.function; @FunctionalInterface public interface Supplier { ..

[Java 교육] LIFO,FIFO 컬렉션/람다식 (다시 복습 필수 - 람다식)

[공부 내용 정리] LIFO : Last in First Out 나중에 넣은 객체가 먼저 빠져나가는 자료구조. Stack (후입선출, LIFO) 스택은 마지막에 넣은 객체가 가장 먼저 빠지는 자료구조임. Stack stack = new Stack(); package chapter11; import java.util.Stack; public class StackExample { public static void main(String[] args) { Stack stack = new Stack(); stack.push("coin1"); stack.push("coin2"); stack.push("coin3"); stack.push("coin4"); System.out.println(stack.peek()); ..

[Java 교육] Collection/List/Set/Map

[공부 내용 정리] 컬렉션(Collection) : 요소를 수집해서 저장하는 것 ex) 다수개의 객체를 저장해 두고 필요할 때 마다 꺼내서 사용하는 경우 배열의 문제점을 해결하기 위해 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들이 존재함. 이들을 총칭해서 컬렉션이라고 함. ex) List, Set, Map List, Set 은 객체를 추가, 삭제하는 방법에 공통점이 있고 Collection 인터페이스로 정의해 두고 있음.(배열이나 트리 형태. 하나의 값만 저장함) Map은 키(Key)와 값(Value)을 하나의 쌍으로 묶어서 관리하는 구조로 되어있음. List Collection List : 자료형의 개수가 계속 변하는 상황에서 유리한 자료구조 형태 List 컬렉션은 객체 자체를 저장..

[Java 교육] 제한된 타입/와일드카드 타입/제네릭 상속, 구현

[공부 내용 정리] 제한된 타입 파라미터 () 타입 파라미터에 구체적인 타입을 제한하는 기능 public **** 리턴타입 메소드(매개변수, ...) { } → 제한된 타입 파라미터를 선언하려면 타입 파라미터 뒤에 extends 키워드가 붙고 상위 타입을 명시하면 됨. package chapter10; public class Util { public static int compare(T t1, T t2) { double value1 = t1.doubleValue(); double value2 = t2.doubleValue(); // compare : value1이 작다면 -1 리턴, value1이 크다면 1 리턴, 같다면 0 리턴. return Double.compare(value1, value2); }..

[Java 교육] 자동 리소스 닫기/중간정리/제네릭

[공부 내용 정리] 자동 리소스 닫기(try-with-resource) 예외 발생 여부와 상관없이 리소스 객체의 close() 메소드를 호출해서 안전하게 리소스를 닫아줌. Autocloseable 인터페이스의 close() 메소드를 직접 구현하는 FileInputStream 클래스 public class FileInputStream implements AutoCloseable { private String file; public FileInputStream(String file) { this.file = file; } public void read() { System.out.println(file + " 을 읽습니다"); } @Override public void close() throws Excepti..

[Java 교육] 사용자 정의 예외/트랜잭션

[공부 내용 정리] 사용자 정의 예외 클래스의 목적 package chapter09; public class DBService { public static void main(String[] args) { // 필수값 - Profile : (이름, 나이), 취미, 좋아하는 음식 ... try { save("name", "age", "hobby", "food"); } catch (NotExistsNameException e) { // logging } } public static void save(String name, String age, String hobby, String food) throws NotExistsNameException{ // DB save SQLException 예외 -> 필수값을 입..

[Java 교육] 예외처리/trycatch&finally

[공부 내용 정리] 예외처리 : 응용프로그램 에러 상황을 처리하는 것 에러 상황에서 프로그램이 강제 종료가 되는게 아니라, 에러 상황을 처리함으로써 프로그램이 정상 실행 상태가 유지되도록 할 수 있음. 예외 클래스의 계층 구조 일반 예외 (Exception) : (=컴파일러 체크 예외) : 컴파일하는 과정에서 예외 처리 코드가 필요한지 검사하고 만약 예외 처리 코드가 없다면 컴파일 오류 발생. → 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 실행 예외 (Runtime Exception) : 컴파일하는 과정에서 예외 처리 코드를 검사하지 않는 예외. → 개발자의 실수로 발생하는 예외 모든 객체의 최상위 부모가 Object이듯, 예외도 최상위 부모는 Object Throwable : 최상위 예외...