전체 글 (104) 썸네일형 리스트형 [WIL] 2022.11.21 ~ 11.25 미니 프로젝트 주간 지난주와 이번주 초반까지는 강의를 듣느라 정신없이 지나갔다. 처음 듣는 개념들은 아니지만 기초를 소홀히 하면 큰 코 다친 다는 것을 알기에 꽤 열심히 들었던 것 같다. 이번 프로젝트는 스프링을 들어가기 전에 자바와 얼마나 친해졌는지 확인하는 프로젝트를 진행한다. 첫 번째 미니 프로젝트는 메모장 만들어보기. 작성자와 내용이 보이는 작은 게시판같은 기능을 구현 하는 것이었고, 게시물 리스트 관리하는 기능을 맡았다. 간만에 하는 코딩에 로딩시간이 다소 걸렸지만 팀원들의 도움으로 잘 마무리했다. 메모장 프로젝트를 통해 본격적인 프로젝트인 은행관리 시스템을 어떻게 꾸며나갈 지 감을 잡는 시간이었다. 은행관리에서는 팀원들과 더 충분한 소통을 하고 업무를 상세하고 체계적으로 나눠서 메모장을 만들 때보다는 틀이 갖춰진.. 2022.11.25 은행 관리 시스템 거래 내역 기능 ClientManagement.java - 계좌 정보와 입출금내역 출력 함수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @Override public String toString() { if(super.getIsDeposit()){ // getIsDeposit() 입금 여부 판별 return "이름: " + super.getName() + "|" + "은행명: " + super.getBankName() + "|"+ "계좌번호: " + super.getAccountNum().replaceAll(LAST_10_CHAR_PATTERN, "**********")+"|" + "입금액: " + super.getMoney() + "|" + "잔고: " + super.getBalance()+ "|.. 2022.11.24 은행 관리 시스템 입, 출금 기능 구현 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 private void accountDeposit() { // 예금 sc.nextLine(); String account = getStrInput("계좌 번호를 입력하세요. :"); int money = 0; int newBalance = 0; for (int i = 0; i 2022.11.23 MemoList Class 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 package MemoPro; import java.util.ArrayList; public class MemoList { private ArrayList memoList = new ArrayList(); // 게시글 객체를 저장할 리스트 public ArrayList getMemoList() { return memoList; } public void setMemoList(ArrayList m.. 2022.11.22 객체지향 3-Tier Architecture 업캐스팅, 다운캐스팅 업캐스팅 (parent) Child c; 다운캐스팅 절차 (Child) Parent p; Parent p = new Child(); (Child) p; ex) 참가자 ⇒ 회원참가자, 비회원참가자 Participant MemberParticipant B (메서드) NonMemberParticipant A (메서드) Participant p가 참가자인지 회원참가자인지 비회원참가자인지 비회원참가자의 A라는 기능을 쓰고싶어 (NonMemberParticipant) p.A(); 3-Tier Architeture Presentation Tier 일반 사용자가 애플리케이션과 상호작용하는 애플리케이션의 사용자 인터페이스 및 통신 계층 주요 목적은 정보를 표시하고 사용자로부터 정보를 수집하는 것 예.. 2022.11.21 JAVA 스트림 스트림 스트림이란 람다를 활용할 수 있는 기술 중 하나로 데이터의 흐름을 의미함 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자 스트림을 활용해서 필터링,데이터 변경, 다른 타입이나 자료구조로 변환 등을 할 수 있음 특징 스트림은 데이터 소스를 변경하지 않음 스트림은 작업을 내부적으로 반복 처리 스트림은 컬렉션의 요소를 모두 읽고 나면 닫혀서 재사용이 불가능합니다. 그러므로 필요할 경우 재생성 생성 Stream Collection.stream() 을 이용하여 해당하는 컬렉션을 기반으로하는 스트림을 생성 중간 연산 - 데이터의 형변환 혹은 필터링, 정렬 등 스트림에 대한 가공을 해줍니다. - map(변환) / sorted(정렬) / skip(스트림 자르기) / limit(스.. [WIL] 2022.11.14~11.18 이번 주는 알고리즘 마무리와 자바를 중점적으로 공부하였다. 알고리즘은 많은 문제를 풀어보면서 어느정도 요령도 생기고 생각하는 방법을 알게 되었고 자주 사용하는 자료구조의 특징과 활용방안에대해 익혔다. 지속해서 다양한 알고리즘 문제를 풀어보며 코딩력을 상승시키겠다. 자바는 예외처리방법과 자주 사용하는 날짜 및 시간 컬렉션을 익혀서 나중에 프로젝트나 실무에서 요긴하게 사용할 것이다. 본격적으로 객체지향의 특성과 객체지향 프로그래밍에 대해 익혔다. 인터페이스와 추상클래스를 통한 다형성 부여와 캡슐화에 대해 공부하였다. 2022.11.18 제네릭스, 람다 제네릭스란? 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스에 컴파일 시의 타입 체크를 해주는 기능 객체의 타입을 컴파일 시에 체크하기 때문에 안정성이 높아짐 형식 public class 클래스명 {...} public interface 인터페이스명 {...} 자주 사용되는 타입인자 약어 - == Type - == Element - == Key - == Value - == Number - == Result 예시 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializa.. 이전 1 ··· 8 9 10 11 12 13 다음