내배캠 사전캠프 TIL 12일차

오병택·2025년 2월 3일

내배캠

목록 보기
11/73

학습 요약

복습, 자바 강의, 코테 문제

자료 구조

큐(FIFO)

Queue<Integer> queue = new LinkedList<>(); 큐 생성 

삽입 메서드 : 큐의 끝에 요소를 추가
offer() // 큐가 꽉 찰 경우 false 반환하며, 예외 발생 X
add() // 큐가 꽉 찰 경우 예외 발생 O

제거 메서드 : 큐의 앞에서 요소를 꺼내며 삭제
poll() // 큐가 비어 있으면 null 반환
remove() // 큐가 비어 있으면 예외 발생

조회 메서드 : 큐의 앞쪽 요소 조회
peek() // 큐가 비어 있으면 null 반환
element() // 큐가 비어 있으면 예외 발생

스택(LIFO)

Stack<Integer> stack = new Stack<>(); 스택 생성 

삽입 메서드 : 스택의 최상단에 요소를 추가
push()

제거 메서드 : 스택의 최상단에서 요소를 꺼내며 삭제
pop()

조회 메서드 : 스택의 최상단 요소 조회
peek()

데크(양방향 접근)

Deque<Integer> deque = new ArrayDeque<>(); // 데크 생성

삽입 메서드
앞쪽 삽입 : 앞쪽에 요소 추가
addFirst() : 예외 발생 가능
offerFirst() : 실패 시 false 반환

뒤쪽 삽입:뒤쪽에 요소 추가
addLast() : 예외 발생 가능
offerLast() : 실패 시 false 반환

제거 메서드
앞쪽 제거 : 앞쪽 요소 제거 및 반환
removeFirst() : 비어 있으면 예외 발생
pollFirst() : 비어 있으면 null 반환

뒤쪽 제거 : 뒤쪽 요소 제거 및 반환
removeLast() : 비어 있으면 예외 발생
pollLast() : 비어 있으면 null 반환

조회 메서드 : 요소 조회
앞쪽 조회 :
peekFirst() : 비어 있으면 null 반환
뒤쪽 조회 :
peekLast() : 비어 있으면 null 반환

JAVA 강의

final

final 클래스 : 변경x 확장x
final 메서드 : 변경x(오버라이딩x)

abstract

abstract 클래스 : 추상 메서드를 가지고 있는 클래스 (미완성 클래스)
abstract 메서드 : 선언부만 작성하고 구현부 x
추상 클래스는 인스턴스 생성불가
추상 클래스를 상속받아서 추상 메서드를 구현해야 객체를 생성 가능

접근 제어자 사용 이유

  1. 외부로부터 데이터를 보호
  2. 외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해

다형성

부모 타입 참조 변수로 자식 타입 객체를 다루는 것
자식 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없음
상속 관계는 참조변수를 서로 형변환 O, 상속관계가 아니면 형변환 X
자식 타입을 부모 타입으로 형변환 할 때 참조변수 앞에 타입 생략가능, 반대는 생략 불가
instanceof으로 형변환이 가능여부 체크가능

다형성의 장점

  1. 다형적 매개변수
  2. 하나의 배열로 여러 종류 객체 다루기

느낀 점

코테 문제 풀다가 스택과 큐로 풀라고 했는데 모르는 부분이라 개념만 찾아서 이해하고 넘어갔다. 아직도 갈 길이 멀다.. 코테는 뭔가 집중이 잘 되는데 강의는 졸려워서 아찔하다.

profile
걱정하지 말고 일단 해봐!

0개의 댓글