본문 바로가기

728x90

분류 전체보기

(326)
2번째 프로젝트 진행 기록 (2): 은행 관리 프로그램 1. 오전 회의 필수 요구 기능 확인 투입 간 역할 분담 2. 오전 회의 결과 필수 요구사항을 구현하기 위한 코드 흐름 정립: 클래스 - 메서드 및 클래스/ 리스트/ DB 테이블 개념 활용 클래스 정하기 1) Main 클래스(application) 2) USER 정보 (계좌번호 -> 외래 키 , 이름, 비밀번호, 잔고) 클래스 DB 테이블 1 3) 은행 클래스 - 출금/입금 메서드, 계좌 등록, 계좌 찾기(조회) -> (소유주, 계좌번호, 전체 조회), 수정/삭제 4) 입출금 내역 클래스 - 거래일자, 시간, 계좌번호, 입출금여부, 거래금액, 은행명 DB 테이블 2 *클래스 별로 코드 작성 할당 박상훈 : USER 정보, 은행 클래스 틀 만들기 유성재 : Main 틀 만들기 임동규, 손현진 : 입출금 내..
11. 23 미니 프로젝트 두 번째: 메모장 프로그램 작성 1. 메모장 프로그램 작성 자바를 활용한 프로그램 작성 프로젝트 중 첫 번째인 메모장 프로그램 작성하는 시간을 가졌다. 무엇보다도 가장 중요한 건 해당 프로그램을 통해 코드의 흐름과 프로젝트의 구조를 파악하는 것이므로 비록 많은 코드를 작성하진 못하였으나, 이 핵심 가치에 집중해서 시간을 보내고자 노력했다. - 프로그램을 작성하며 내가 시도한 것들: 깃을 활용한 협업 메모장 프로그램에 사용되는 코드의 흐름 이해, 구현 노력 - 맞이한 장애물 설계한 내용을 실제 코드로 구현하기: if/else 문 대신 switch문을 사용: switch문에 대한 이해 콜렉션 프레임워크의 활용 : 어레이 리스트를 DB로서 활용하기 자바 언어에 대한 이해 및 숙련도 부족 -노력 끊임없는 코드리뷰와 피드백 내용 중간 정리를 통..
2번째 프로젝트 진행 기록 (1): 메모장 프로그램 1. 회의 전 구상 각 기능별 역할 분담을 통해 메모장 프로그램의 구현 목표 프로그램의 구현 및 프로젝트 구조의 이해력 확보 목적 2. 회의 후 각자 기능을 분담해서 하는 것도 좋지만, 우선 프로젝트 구조를 이해하는 것이 최우선으로 진행되어야 하기 때문에 시간을 갖고 각 대원의 러닝 커브 안에서 프로그램의 구현을 우선 진행해본 후, 피드백을 통해 발전시켜나가는 것으로 의견 취합 3. 1일차 진행상황 Aplication(Main)를 구동 -> 콘솔에 메뉴 출력 -> 스캐너를 활용한 메뉴 접근 -> switch문을 통해 각 기능별 메서드 실행 팀원 간 의견을 종합 수렴해 구체화 시작 구체화: Static을 사용한 객체생성 -> final 선언한 후 생성자에서 인스턴스를 반환하는 방식 이후 추가된 내용: 1...
11. 22 객체 지향 프로그래밍/ JAVA 1. 객체 지향 프로그래밍 추상클래스 + 템플릿 메소드: (템플릿 메소드란?) 부모 클래스 안 메소드에 정의되어 있는 구조를 하위 클래스에서 구조 변경없이 재 정의하는 패턴(+ 다형성?, 오버라이딩?) 업캐스팅 예문 (Parent) Child c; 다운캐스팅 예문 (Child) Parent p; Parent p = new Child(); (Child) p; ** 3 티어 아키텍쳐 (웹개발 종합반의 클라이언트-서버-DB 구조와 유사함) 프리젠테이션 티어 (클라이언트) 어플리케이션 사용자 인터페이스 및 통신 어플리케이션 티어(서버) 데이터 티어(DB) *스프링 프레임웤을 사용한 프로젝트 빌드/ 클린 등 여러 사용모습 견학 2. JAVA Java.lang , Java.time, Java text 패키지 날짜와..
11. 21 객체 지향 프로그래밍/ JAVA 기초 복습 1. 객체 지향 프로그래밍 다형성 - 클라이언트를 변경하지 않고, 내부 기능을 변경할 수 있다. 코드: // status의 기능을 변경하고 싶다. // status를 "off" 값을 반환한다. class Plug { public void on() {} public void off() {} } interface InternetOfThings { String status(); } class SmartPlug extends Plug implements InternetOfThings { public String status() { ``` ``` return "ok"; } } class OffPlug extends Plug implements InternetOfThings { public String Status..
11. 14 ~ 11. 18/ 3주 차 WIL 정신없이 지나가는 일주일.. 벌써 3주가 지나갔다. 19주 프로그램에서 쉬는 날 빼면 대략 18주 과정인데, 그 중 3주가 벌써 지나간 것이다! 주니어 개발자라.. 막연하지만 실체가 조금씩은 잡혀가는 중이다. 1. JAVA 자바 기초강의를 수강 완료했다. 다만 아직 객체지향 프로그래밍과 후반부에 배우는 람다, 스트림API, 네트워킹 등에 대해 익숙하지 않아 이해에 어려움을 겪고 있어, 주말에 복습을 계속 진행하고 있다. 언젠가는 완전히 이해하는 순간이 오리라 믿으며.. 추가 목표: 11월이 지나기 전에 자바의 정석 1회독 끝내기. 자바 기초강의랑 겹치지 않는 부분은 좀 생략하는 용기도 필요하겠다. 2. 알고리즘 타임 어택 처음으로 알고리즘을 시간 제한을 두고 풀이하는 알고리즘 타임어택을 진행했다. 문제 ..
11. 19 내부 클래스/ static vs final vs static final 내부 클래스 클래스 내에 선언된 클래스 장점: 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. 코드 복잡성을 줄일 수 있다(캡슐화) static vs final vs static final static = "고정된" static 변수(클래스 변수): -해당 변수에 메모리 할당을 딱 한번만 하는 메모리 절약효과 -**static 변수의 메모리 주소가 한 곳으로 고정되기 때문에, 인스턴스 변수간 값이 그 주소로 공유되기 때문에, 해당 변수(속성)의 값 고정된 주소에서 공유된다. static 메서드: 객체 생성없이 해당 클래스.static메서드를 입력하여 해당 메서드를 호출할 수 있다. *static 메서드 안에서는 인스턴스 변수로 접근이 불가능하다. (vs 인스턴스 메서드: 객체 생성: 클래스..
11. 18 객체 지향 프로그래밍 강의/ CS 강의/ 백문이불여일타(1): 계산기, JAVA 1. 객체 지향 프로그래밍 강의 사고방식의 전환이 필요하다: (참고하기 - 객체지향 사실과 오해) 소프트웨어는 소프트웨어 세계에서 능동적으로 변한다 객체 지향 프로그래밍은 현실세계를 참조해 새로운 소프트웨어 세상을 탄생시키는 것 객체는 현실에 대한 은유다 객체 지향 설계의 핵심: 메세지: 객체들이 협력하여 목표를 달성해나가는 과정 협력: 객체들 간의 관계 *객체를 구상하고 코드로 클래스를 정의하고 생성자를 통해 인스턴스를 생성한다 (실무)패키지 이름 = 사이트 이름 ex)com.github.wikikim Main 클래스는 소프트웨어 구동목적만 있다 Getter/ Setter 사용 지양하자 2. CS 특강 : 프로세스/ 비동기/ 스레드 프로세스: 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스*/ 운영..

728x90