네이버클라우드/JAVA 웹 프로그래밍138 JAVA 18일차 (2023-06-16) 자바 기초 DAY16_다형성, Object 클래스와 상속, Overriding ## 19. 다형성을 이용하여 범용으로 사용할 수 있는 목록 클래스 만들기 - 목록 관리 범용 클래스 ArrayList 정의 - 다형성의 polymorphic variable 문법 활용 - equals() 메서드와 오버라이딩 활용 - Object 클래스와 상속 다형성, Object 클래스와 상속, Overriding ㄴ MemberList.java 복사 ㄴ 복사한 파일 같은 위치에 붙여넣기 -> 이름은 ArrayList 로 설정 상속 테스트를 위한 패키지 및 클래스 새로 생성 ㄴ Test 라는 이름으로 패키지 생성 ㄴ Calculator 클래스 생성 Calculator.java Calculator2.java ㄴ Test 클래스는 main 메서드까지 같이 생성 Test.java 클래스 파일 삭제 후 실행 .. 2023. 6. 16. JAVA 17일차 (2023-06-15) 자바 기초 DAY15_인스턴스 목록 제어 기능을 별도의 클래스로 캡슐화_개인프로젝트 - 마트 관리 시스템 ## 18. 인스턴스 목록 제어 기능을 별도의 클래스로 캡슐화: 재사용성 높임 - 핸들러에서 인스턴스 목록을 다루는 기능을 별도의 클래스로 분리 - UI가 CLI에서 윈도우 또는 웹으로 바뀌더라도 인스턴스 목록 다루는 기능은 재사용 가능 - 배열 크기 자동 증가 기능 추가 인스턴스 목록 제어 기능을 별도의 클래스로 캡슐화: 재사용성 높임 핸들러에서 인스턴스 목록을 다루는 기능을 별도의 클래스로 분리 ㄴ UI가 CLI에서 윈도우 또는 웹으로 바뀌더라도 인스턴스 목록 다루는 기능은 재사용 가능 ㄴ MemberList 클래스 생성 MemberList.java ㄴ MemberHandler 클래스에 있는 인스턴스 목록을 다루는 변수들을 MemberList 클래스로 이동 MemberHandler.java => Me.. 2023. 6. 15. JAVA 17일차 (2023-06-15) 자바 기초 DAY15_인터페이스를 이용한 객체 사용 규칙 정의_개인프로젝트 - 마트 관리 시스템 ## 17. 인터페이스를 이용한 객체 사용 규칙 정의 - 인터페이스 문법으로 핸들러의 실행 규칙 정의 - 인터페이스에 정의한 대로 핸들러 구현 - 인터페이스에 정의한 대로 핸들러 실행 ㄴ 구현 클래스는 인터페이스 규칙에 따라 작성 인터페이스를 이용한 객체 사용 규칙 정의 인터페이스 문법으로 핸들러의 실행 규칙 정의 인터페이스에 정의한 대로 핸들러 구현 ㄴ 인터페이스에 정의한 것과 다르므로 오류 => service() -> execute() 로 변경 => App.java 도 같이 변경해줘야 함 App.java 수정 ㄴ Handler Interface 를 import 해줘야 함 => ㄴ ItemHandler 와 MemberHandler 에도 Handler Interface 를 설정해주어야 함 2023. 6. 15. JAVA 17일차 (2023-06-15) 자바 기초 DAY15_디버깅 Eclipse 에서 디버깅 하는 방법 ㄴ Switch 선택 ㄴ 동그라미 나오도록 해당 명령줄 번호 왼쪽 더블클릭 ㄴ 위 코드 printTitle() 위치에서 해당 버튼 선택하여 Step Into => 해당 메서드 위치로 이동 ㄴ 위 코드 System.out.println(...) 은 작성한 메소드가 아닌 운영체제에 호출하는 메서드이므로 해당 버튼 선택하여 Step over ㄴ printMenu(); 도 printTitle(); 과 마찬가지로 동일하게 실행 ㄴ 여기서는 입력을 받을 때까지 기다림 ㄴ 입력을 받은 후 입력받은 1에 해당하는 memberHandler.execute() 위치에서 Step Over ㄴ memberHandler.execute() 위치로 이동하여 실행 ㄴ 현재 중지된 디버깅 상태를 해.. 2023. 6. 15. JAVA 17일차 (2023-06-15) 자바 기초 DAY15_GRASP 패턴 : Information Expert 적용_개인프로젝트 - 마트 관리 시스템 ## 16. GRASP 패턴: Information Expert 적용 - 메뉴 기능을 각 핸들러에게 위임 - 기능을 수행하는데 필요한 정보를 가지고 있는 객체에 역할 부여 - CRUD 메뉴 기능은 핸들러로 이전 - App 클래스는 메인 메뉴 제공 메뉴 기능을 각 핸들러에게 위임 ㄴ 기능을 수행하는 데 필요한 정보를 가지고 있는 객체에 역할 부여 ㄴ CRUD 메뉴 기능은 핸들러로 이전 App.java ㄴ 메뉴를 직원, 게시글, 공지, 물품으로 분리 MemberHandler 수정 MemberHandler.java ㄴ App.java에 있는 메뉴부분 가져와서 이용 App.java ㄴ 1번 입력 시 memberHandler 의 execute() 실행하도록 수정 MemberHandler.java 수정 public.. 2023. 6. 15. JAVA 16일차 (2023-06-14) 자바 기초 DAY14_인스턴스 필드와 인스턴스 메서드, 생성자와 의존 객체 주입_개인 프로젝트 - 마트 관리 시스템 ㄴ 해당 내용을 개인 프로젝트에 적용 인스턴스 필드와 인스턴스 메서드, 생성자와 의존 객체 주입 만들었던 BoardHandler2.java 삭제 후 시작 BoardHandler 클래스에 인스턴스 필드 및 메서드 적용 ㄴ 스태틱 필드를 인스턴스 필드로 만들기 => ㄴ MAX_SIZE 를 private 으로 해주는 이유는 해당 필드는 BoardHandler 클래스 안에서만 사용하기 때문 ㄴ 인스턴스 멤버(필드나 메서드)를 사용하는 경우 인스턴스 메서드로 정의해야 하므로 static 제거 및 this 이용 MemberHandler, itemHandler 클래스에 인스턴스 필드와 인스턴스 메서드를 적용 MemberHandler.java package bitcamp.report.handler; import bit.. 2023. 6. 14. 이전 1 ··· 16 17 18 19 20 21 22 23 다음