2주차 과제는 팀 프로젝트로 진행되며, 각 팀원은 “최소 하나의 클래스” 를 설계하고 구현하는 것이 목표입니다. 각자의 클래스는 다른 팀원의 클래스와 “조합” 또는 “상속” 을 통해 상호작용해야 합니다.
자바의 객체지향 개념을 기반으로 팀 내에서 협력하여 프로젝트를 완성해주시면 됩니다.
📅 제출 기한: 24일(화) 오전(12:00)까지
- 팀 내에서 공통점, 공통 관심사를 알아보고, 관련하여 주제를 선택한다.
- 공통 관심사가 도저히 없다면 팀내에서 원하는 주제를 정해도 됩니다!
- 각 팀은 아래의 “요구사항”에 맞게 자바 클래스들을 설계하고 구현한다.
- 팀 내에서 역할을 잘 분배하여 프로젝트를 완성해주세요.
- 24일(화) 오전까지 프로젝트를 깃허브에 업로드하며, 24일 19시 프로젝트에 대해 발표를 진행한다.
- 발표 자료는 자유이나 필수는 아닙니다.
- 코드 설명과 함께, 회의, 개발 과정이나 어려웠던 점 등 자유롭게 공유해주세요.
- 발표 후 각 팀은 다른 팀의 레포지토리에 코드 리뷰를 남긴다.
- 궁금한점이나, 1주차에 받은 질문 중 스스로 공부한 부분을 질문으로 남겨도 괜찮습니다!
-
각 팀원은 최소 하나의 클래스를 설계 및 구현해야 합니다.
-
각 클래스는 다른 팀원의 클래스와 조합 또는 상속을 통해 상호작용해야 합니다.
-
조합은 팀내에서 최소 한번 이상 사용되어야 하며, 생성자 주입 방식을 사용하는 것을 권장합니다.
-
-
팀 내 최소 1번은 다음의 자바 요소를 사용해야합니다.(모두가 구현할 필요는 없습니다)
- 조합(composition)
- static
- interface와 implements
- java.util의 자료구조 중 하나
- getter, setter
- generic
- optional
- 커스텀 Exception
- optional과 연계해도 좋습니다!
- 포함되어 있지 않더라도, 학습한 내용을 자유롭게 활용해주시면 됩니다.
-
깃허브 관련 요구사항
- 레포지토리는 어디 올리나요?
- GDSC 공식 깃허브 오가니제이션에 “24_2_BE_Beginner_Week2_team1” (팀 이름은 자유롭게)의 이름으로 레포지토리를 생성하면 됩니다.
- 아직 GDSC 공식 깃허브 오가니제이션에 초대 되지 않은 분들은 깃허브 아이디, 이메일과 함께 연락주세요.
- 브랜치는 어떻게 작업하나요?
- 프로젝트는 각자의 브랜치를 생성하여 main으로 PR을 올리고 머지하는 방식으로 진행합니다.
- 최대한 깃허브로 협업을 하되, 어렵다면 우선 하나의 PR로 올려도 괜찮습니다.
- 이 과정에서 코드 리뷰는 자유입니다.
- 이슈는 작성해주세요
- 각자의 클래스 요구사항은 이슈를 작성하여 올립니다.
- 깃세션에서 배운 이슈 트래킹 방식을 사용해주세요
- PR에는 #{이슈 번호}를 통해 트래킹해주세요.
- PR에는 팀원과 “coke98” 리뷰어 설정을 해주세요.
- 레포지토리는 어디 올리나요?