풀스택 백엔드 2026.05.11

syyu21b·2026년 5월 11일

풀스택 - 백엔드

목록 보기
16/49
post-thumbnail

[SECTION13-00. 종합 테스트 문제]

목표

이번 과제에서는 List(ArrayList) 를 사용하여 학생 정보를 관리하는 프로그램을 만든다.


프로그램 기능 요구사항

0. 메뉴 출력(반복)

아래 명령어를 반복 출력하고, 사용자가 0을 입력하면 종료한다.

==== 명령어 목록 ====
1. 학생 등록
2. 학생 목록
3. 학생 검색
4. 학생 수정
5. 학생 삭제
0. 종료

1. 학생 등록

  • 학생 정보를 입력받아 List에 추가한다.
  • 등록할 정보: 이름, 나이, 점수
  • 최대 등록 가능 학생 수는 3명 (상수로 관리)
  • 이미 3명이 등록되어 있으면:
    • "학생 수를 초과하였습니다." 출력 후 등록되지 않아야 함

2. 학생 목록

  • 현재 등록된 학생을 번호(1번부터) 와 함께 출력한다.
  • 예시:
1번) 이름: 홍길동 / 나이: 20 / 점수: 90
2번) 이름: 김철수 / 나이: 18 / 점수: 70

3. 학생 검색

  • 사용자로부터 학생 번호를 입력받고, 해당 학생 정보를 출력한다.
  • 범위를 벗어나면:
    • "존재하지 않는 학생입니다."

4. 학생 수정

  • 수정할 학생 번호를 입력받는다.
  • 새로 입력받은 이름/나이/점수로 해당 학생 정보를 수정한다.
  • 범위를 벗어나면:
    • "존재하지 않는 학생입니다."

5. 학생 삭제

  • 삭제할 학생 번호를 입력받는다.
  • List에서 해당 학생을 삭제한다.
  • 범위를 벗어나면:
    • "존재하지 않는 학생입니다."

추가 요구사항 (객체지향 연습)

  • Student 클래스는 캡슐화 적용
    • private 필드
    • getter/setter 또는 생성자 사용
  • 출력은 toString()을 오버라이딩하여 깔끔하게 출력해도 됨 (권장)

힌트 (List 필수 메소드)

  • list.size() : 현재 학생 수 확인
  • list.add(obj) : 추가
  • list.get(index) : 조회
  • list.set(index, obj) : 수정(덮어쓰기)
  • list.remove(index) : 삭제

학생 번호는 1부터 시작하지만, List 인덱스는 0부터 시작한다.

따라서 번호 - 1 = 인덱스 로 변환해야 한다.


정답

StudentMain

StudentController

StudentService

Student


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

Set 컬렉션

  • 순서 없음
  • 중복 허용 ❌
  • 중복 제거 용도로 사용

-예시:


Iterator = 컬렉션 내부 데이터를 순차적으로 접근하기 위한 객체

-예시:


Map 컬렉션

  • key + value 구조
  • key는 중복 불가
  • value는 중복 가능

-예시:

0개의 댓글