[TIL] 20231107

Xtraa·2023년 11월 7일
0

TIL

목록 보기
12/99

공부한 내용

Collection

  • List
    순차적으로 추가/삭제하는 경우에는 ArrayList는 LinkedList보다 빠르다
    중간에 Data를 추가/삭제하는 경우에는 LinkedList가 ArrayList보다 빠르다

  • Queue
    먼저 들어온 요소가 먼저 나가는 (FIFO, First-In-First-Out) 순서를 가진 컬렉션입니다. 데이터의 추가는 뒤쪽에서 이루어지고, 추출은 앞쪽에서 이루어진다.

  • Set
    데이터의 순서는 보장되지 않으며, 중복된 값을 추가하려고 하면 기존 값이 유지되고, 새 값은 무시

  • Map
    키의 중복 저장이 허용되지 않습니다. 만약 동일한 키로 데이터를 저장하려고 하면, 기존 키에 대응하는 값이 새 값으로 갱신

Exception

  • Checked Exception: 컴파일 시점에 체크되는 예외입니다. 이 예외들은 반드시 try-catch 블록으로 처리하거나, 메소드 선언부에 throws 키워드를 사용해 명시적으로 선언해야 합니다. 예를 들어, IOException이 있다.

  • Unchecked Exception (Runtime Exception): 실행 시점에 발생하며, 컴파일러가 강제하지 않습니다. 주로 프로그래밍 실수에서 기인하며, NullPointerException, ArrayIndexOutOfBoundsException 등이 있다.

메서드 오버로딩

    1. 매개변수의 타입이 다르거나
    1. 매개변수의 갯수가 다르거나
public static int getPower(int number) {
        int result = number * number;
        return result;
        // return number * number;
    }

    public static int getPower(String strNumber) {
        int number = Integer.parseInt(strNumber);
        return number * number;
    }

    public static int getPower(int number, int exponent) {
        int result = 1;
        for (int i = 0; i < exponent; i++) {
            result *= number;
        }
        return result;
    }

    public static void main(String[] args) {
        System.out.println(getPower(3));
        System.out.println(getPower("4"));
        System.out.println(getPower(3, 3));
    }

문자열 변환 메서드

  • substring(int startIndex, int endIndex) 에서
    startIndex(포함)부터 endIndex(불포함) endIndex가 포함이라고 생각해서 조금 애먹었다.
public static void main(String[] args) {
        String name  = "박준영";
        String id    = "971234-1234567";
        String phone = "010-1234-5678";

        System.out.println("이름 : " + getHiddenData(name, 1));
        System.out.println("주민등록번호 : " + getHiddenData(id, 8));
        System.out.println("전화번호 : " + getHiddenData(phone, 9));
    }

    public static String getHiddenData(String data, int index) {
        String getHiddenData = data.substring(0, index);

        for (int i = index; i < data.length(); i++) {
            getHiddenData += "*";
        }
        return getHiddenData;
    }

접근 제어자

private : 해당 클래스 내에서만 접근 가능
public : 모든 클래스에서 접근 가능
default : (아무것도 적지 않았을 때) 같은 패키지 내에서만 접근 가능
protected : 같은 패키지 내에서, 다른 패키지인 경우 자식 클래스에서 접근 가능

참고자료

profile
https://xtraa.notion.site/Xtraa-ed48ac432d354d01b5bf5b0da5ec94a9?pvs=4

0개의 댓글