풀스택 백엔드 2026.05.12

syyu21b·2026년 5월 12일

풀스택 - 백엔드

목록 보기
17/49
post-thumbnail

[SECTION13. 컬렉션 프레임워크-3]

컬렉션 vs 배열 (정리)

구분배열컬렉션
크기고정가변
기능거의 없음풍부
실무거의 사용 안 함필수
타입하나제네릭 지원

문제 1

  • 학생 이름을 key로, 점수를 value로 저장하는 학생 점수 관리 프로그램을 작성하시오.

● 요구 사항

  • Map<String, Integer> 사용
  • 학생 이름과 점수를 3명 입력 받기
  • 특정 학생 이름을 입력하면 점수를 출력
  • 존재하지 않는 학생이면 "존재하지 않는 학생입니다." 출력

● 실행 예시

학생 이름 입력: 민수
점수 입력: 90
학생 이름 입력: 영희
점수 입력: 85
학생 이름 입력: 철수
점수 입력: 70

조회할 학생 이름: 영희
점수: 85

정답 1

결과 1


문제 2

  • 학생 이름을 여러 번 입력받아 중복 없이 저장하고, 최종적으로 등록된 학생 이름 목록을 출력하는 프로그램을 작성하시오.

● 요구 사항

  • Set<String> 사용
  • 학생 이름 3번 입력받기
  • 같은 이름을 여러 번 입력해도 한 번만 저장
  • 모든 입력이 끝난 후, 저장된 학생 이름을 출력

● 실행 예시

학생 이름 입력: 민수
학생 이름 입력: 영희
학생 이름 입력: 민수

==== 등록된 학생 목록 ====
민수
영희

● 힌트

  • HashSet 사용
  • Set은 중복 허용 ❌
  • 출력 순서는 입력 순서와 다를 수 있음 (정상)

정답 2

결과 2


[SECTION15. 예외 처리(Exception Handling)]

예외(Exception) = 프로그램 실행 중에 발생하는 예상 가능한 문제 상황

예시:

  • 숫자를 입력해야 하는데 문자를 입력함
  • 존재하지 않는 학생 번호를 조회함
  • 로그인하지 않은 상태에서 글을 작성하려고 함
  • 리스트 범위를 벗어난 인덱스 접근

오류(Error)와 예외(Exception)의 차이

구분오류(Error)예외(Exception)
의미프로그램이 감당 불가능한 문제프로그램이 처리 가능한 문제
메모리 부족, JVM 문제잘못된 입력, 인덱스 오류
처리보통 처리 불가try-catch로 처리 가능
수업 범위

try-catch

try {
    // 문제가 발생할 수 있는 코드
} catch (예외타입 변수명) {
    // 문제가 발생했을 때 실행할 코드
}

의미

  • try : “여기서 문제 날 수도 있어”
  • catch : “문제 나면 내가 처리할게”

자주 만나는 예외들 (중요)

예외 이름발생 상황
NullPointerException객체가 null인데 접근
IndexOutOfBoundsException리스트/배열 범위 초과
NumberFormatException문자열을 숫자로 변환 실패
IllegalStateException현재 상태에서 허용되지 않는 동작

문제

  • 숫자를 입력받아 100으로 나누는 프로그램을 작성하시오.

  • 숫자가 아닐 경우 → “숫자를 입력하세요”

  • 0을 입력할 경우 → “0으로 나눌 수 없습니다.”

정답

결과

0개의 댓글