분류 전체보기 30

TPJ-호텔 예약 프로그램 (5)

231024~231030C 1101W 끝은 났지만. 이렇게 생애 두 번째 팀 프로젝트 도 무사히 끝이 났다. 뭔가 내가 작업했던 파트만 훅! 하고 훑어왔는데, 실은 이러저런 많은 일들, 작업들이 있었다. Github에 대한 경험이 많지 않아 팀원 초대 받는데도 헤맸고, 분명 Push 한 것 같은데 PR버튼 활성화가 안되서 헤매는 단순한 일들로 시작해서, 다른 팀원과 메서드를 공통으로 사용하게 된다거나, 각자 작성한 코드들이 어떻게 이어지게 할지 의논한다거나, 중간중간 막히는 부분에 대해 질문도 하고, 마감 시간까지 시간이 부족 할 것 같아 주말 밤에 모여서 열심히 달리기도 했다. 중간중간 잡담하기도 하고, 좋은 정보 공유도 하고, 넷상에서의 맵, 각 팀 장소에 모여서 소통하는데 간혹 마이크나 카메라가 연..

코딩/JAVA 2023.11.02

TPJ-호텔 예약 프로그램 (4)

231024~231030C 1031W 하나가 되자 코드들아. 이전 글에서 출력문들은 output클래스로 모아놨다고 했었다. 나같은 경우 객실상태를 확인하는 작업이다보니 RoomCheckOutput으로 명명했다. 출력될 내용들을 System.out.println(); 와 함께 메서드에 넣었고, 이를 HotelLounge에서 순서에 맞게 호출해가게 된다. public void printConfirmedCheckedRoomView() { System.out.println("선택하신 객실이 장바구니로 이동되었습니다."); System.out.println("'객실예약대기목록'에서 결제해주세요. :)"); } 위와 같이 대부분 단순 출력만하는 경우였는데, 게중에 하나는 조금 달랐다. public void prin..

코딩/JAVA 2023.11.01

TPJ-호텔 예약 프로그램 (3)

231024~231030C 1031W 루프문의 향연, HotelLounge 이제 데이터를 만들었으니 이것들이 차례대로 동작하고 계산되고, 출력되게 만들어 줘야 한다. 우리 팀은 작성하고, 작성될 코드들이 순차적으로 돌아가는 메서드들을 HotelLounge에 작성했는데 큰 틀은 While 루프문 이었다. 루프문 내에서 순차적으로 적재적소에 들어갈 메서드 들을 잘 넣어주면 나중에 Run(실행) 시킬 시, 해당 출력화면에서 어떤 값을 입력하느냐에 따라 해당메소드로 이동하고 그 메서드 내에서 또 다른 메서드들이 호출되고 마지막에 이르러선 메인으로 돌아가고, 다시 시작하고… 이렇게 계속해서 반복할 수 있게 된다. 적어도 실행을 멈추거나, 뜻하지 않는 에러를 만나기 전까진. 그 과정에서 데이터 값들이 서로 맞물리고..

코딩/JAVA 2023.11.01

TPJ-호텔 예약 프로그램 (2)

231024~231030C 1030W 객실 하나하나의 정보를 담는 Room과 이를 모아둔 Map, roomList, 그리고 러브룸. 우선 객실 목록 조회를 위한 RoomDatabase(향후 Hotel로 바뀜)클래스를 생성 우선 각 객실별로 호실 번호, 타입, 가격, 그리고 현재 예약 현황을 알 수 있어야 한다. 제일 먼저 떠오른 건 List를 사용하는 거였는데, 이번 기회에 많이 안 다뤄본 Map을, 그 컬렉션 중에서도 대표적이라고 하는 HashMap을 활용해보기로 하고 작성하기 시작했다. private final Map roomList = new HashMap private Hotel() { roomList.put(1, new Room(101, RoomType.MEDIUM, 5400000L, false..

코딩/JAVA 2023.11.01

TPJ-호텔 예약 프로그램 (1)

231024~231030C 1030W 프로그램 기반닦이 이번 팀 프로젝트로 호텔 예약 프로그램을 만들게 되었다. 이전에 개인과제로 나왔던 키오스크 프로그램을 업그레이드 하는 선택안도 있었지만, 우리 팀은 새로운 걸 원하는 프론티어들이었다. 회의를 통해 기본적인 틀, 들어갈 기능들에 대해 논의 해보았고 노션에 메모를 해나가기 시작했다. 이전 HTML작업과는 다른 JAVA 팀 프로젝트는 내가 경험도 없고 부족해서 팀원들 의견이 나오는 것들에 집중하는데 초점을 맞췄고, 최대한 의견을 내보려 노력해봤다. 전 팀 프로젝트에서도 유용하게 사용했던 Figma를 제안해 이번에도 사용하게 되었는데, 팀원 중 한 분이 우리가 회의하며 적어나갔던 내용들을 실시간으로 flow-chart화 해나갔는데, 어쩌다 잠깐 보고선 깜짝..

코딩/JAVA 2023.11.01

저 객체가 그 객체요? ???

- 객체 - 세상에 존재하는 물체, 식별이 가능한 것 - 자동차, 호텔, 요리레시피, 계산기, 강의, 배달 주문, 운동 등등 => 식별 가능 - 속성(필드)과 행위(메서드) - 객체 모델링 Car class -------------------- company: String color : String price : double speed : double -------------------- gasPedal() : double brakePedal() : double changeGear() : char onOffLight() : boolean horn() : void - Person객체 Car클래스 - 소프트웨어의 객체들은 메서드를 통해 데이터를 주고 받음 - 객체간 관계 - Person객체 -> Car클래스..

문법/JAVA 2023.10.26

Git 기초 Part-2

- 브랜치 - git branch login : branch 생성 주로작업하는 작업명을 이름으로 사용 - git branch : 현 브랜치 확인 - git switch 브랜치명 : 해당 브랜치로 전환 - git checkout 브랜치명 : ㄴ> 의 구버전 - git switch -c 브랜치명 : 해당 브랜치 생성과 동시에 전환 - git switch 최종브랜치 , - git merge 합할 브랜치: 브랜치 합하기 - Github - Pull Request : 코드리뷰를 위해 - git push origin 브랜치명 : 해당 브랜치명에 푸쉬 - 브랜치 활용 - main 브랜치 : 배포용 - develop 브랜치 : 테스트 - function 브랜치 : 기능 개발용 - Github에 push하기 전에 로컬에..

코딩/GitHub 2023.10.25

Git 기초 Part-1

GIT 버전,형상 관리도구 -형상 관리 도구 - SW의 변경사항을 기록하는 것 ㄴ백업 및 팀원들과 공유 가능한 코드저장소 =>협업가능 깃 주요 명령어 pwd - print working directory ls - list 현재 위치에있는 모든 파일, 폴더 리스트를 보여줌 ls -a -숨겨진 폴더 포함 모두 보여줌 ㄴ-al 좀 더 길게 나옴 mkdir -폴더 생성 touch -현재 경로에서 파일 생성 cd -화면 위치 변경 .. -상위폴더로 이동 git init - initialize -초기화 ㄴ프로젝트 마다 한 번씩 git bash - 윈도우는 bash 먼저 git add - 저장할 파일 지정 git commit -실제 지정 git add. - 자동으로 저장 git status - 상태 확인 git lo..

코딩/GitHub 2023.10.24

클래스와 아이들

- 클래스를 만듦 => main 에서 클래스를 이용해 new 키워드와 생성자 사용해 객체 생성. - public 접근제어자를 선언하면 어디에서도 사용할 수 있음 - 생성자를 호출하기 위해 new 키워드 이용. => 새로운 객체 생성 - 클래스로 만든 객체 까지도 배열로 관리 가능 - main서 생성된 객체는 생성된 클래스의 필드변수타입, 메서드도 가지게 됨 - ex) Main { car1.changeGear('P'); } => 생성된 클래스의 메서드 호출 => 필드 변경가능 - 객체안에서 다뤄지는 변수와 같은 데이터들 - ex) class { String company; String model = "Lamborghini"; String color ; double price; double speed; ch..

문법/JAVA 2023.10.23

상속

부모 클래스의 필드와 메서드를 자식 클래스에게 물려줄 수 있다. -공통적인 코드를 관리하여 코드의 중복 제거, 재사용성 증가, 유지보수에 유리 -public class 자식클래스 extends 부모클래스 {} 1. 부모Class에 새로운 필드와 메서드가 추가되면, 자식 Cl는 이를 상속받아 사용 가능 2. 자식Class에 새로운 필드, 메서드가 추가되어도 부모 클래스는 영향x 3. => 자식 클래스의 멤버 개수는 부모 클래스보다 항상 같거나 많다. 클래스간의 관계 -상속 : is~ -포함 : has~ ? 단일,다중상속 JAVA는 다중상속 허용x -클래스간의 관계의 복잡성 final 클래스, 메서드 -부모 Class에 fianl 키워드 선언시 상속할 수 없게됨 ㄴ상속 = Overriding => 상속받은 ..

문법/JAVA 2023.10.21