초록꼬마의 devlog
article thumbnail

2021.11.9(화)

🌿 과제 내용

  • 추상클래스, 객체 배열 활용 → 영화관 예매 앱 만들기 (+이 아이디어를 구현할 다른 팀에게 전달할 문서도 작성)
  • 처음에 주어진 시간 = 3시간 → 결국 6시간 활동

🌿 회고

  • 어려웠던 점
  1. 주제 선정 시 주어진 시간에 우리가 이용 가능한 기술로 실현 가능한 주제(대상 및 기능)를 정확히 파악하고 결정해야 하는 점 + 핵심 기능의 선택과 집중

  2. 원격 회의를 해야 할 때 효율적인 역할 분담 및 협업 방법

  3. 문서화의 절차 및 형식에 익숙치 않은 점 - 특히 우리가 주어진 시간에 정확히 무엇을 얼만큼 할 수 있는지 감이 없는 상태에서 프로그램 기획을 해야 하는 점이 어려웠다

  • 깨달은 점
  1. 우리반에는 잘하는 학우분들이 많다

  2. 여러 사람이 모이면 다양하고 재미있는 아이디어가 나온다(주제 선정, 추가 기능 구현 등)

  3. 협업 방식에 대한 고민과 경험이 필요한 것 같다(특히 온라인으로 작업할 때)

  4. 서로 코드를 봐주면 실수나 개선할 점을 보다 더 쉽게 찾을 수 있었다

public class CinemaController {

    private Scanner sc = new Scanner(System.in);
    private Cinema[] c = {new CGV(), new LotteCinema()};
//    private int select;
    private int cinemaSelect;
    private int movieSelect;
    private int person;

    public void ticketing2() { // ticketing2 메소드 영역 시작

        System.out.println("영화관을 선택하세요");
        System.out.println("1. CGV");
        System.out.println("2. 롯데시네마");
        System.out.print("영화관 선택 > ");
        cinemaSelect = sc.nextInt();

        if (cinemaSelect == 1) {
            System.out.println("CGV 영화의 개봉 날짜 : " + c[cinemaSelect - 1].getRelease() + " / 티켓 가격 : " + c[cinemaSelect - 1].getTicket());
            for (int i = 0; i < ((CGV)c[cinemaSelect - 1]).releaseMovie().length; i++) {
                System.out.println((i + 1) + ". "+ ((CGV)c[cinemaSelect - 1]).releaseMovie()[i]);
            }
        } else if(cinemaSelect == 2){
            System.out.println("롯데시네마 영화의 개봉 날짜 : " + c[cinemaSelect - 1].getRelease() + " / 티켓 가격 : " + c[cinemaSelect - 1].getTicket());
            for (int i = 0; i < ((LotteCinema)c[cinemaSelect - 1]).releaseMovie().length; i++) {
                System.out.println((i + 1) + ". "+ ((LotteCinema)c[cinemaSelect - 1]).releaseMovie()[i]);
            }
        }

        System.out.print("영화를 선택하세요! : ");
        movieSelect = sc.nextInt();
        System.out.print("인원수를 입력하세요! : ");
        person = sc.nextInt();

        c[cinemaSelect - 1].publish(movieSelect - 1, person);

    } // ticketing2 메소드 영역 끝

}

📗 homework: 회원 정보 연동 + 관람 나이 제한, 상영관에 따른 티켓 매수 제한, 쿠폰 할인 및 포인트 적립, 팝콘(세트) 구매 등