Tiny Bunny '분류 전체보기' 카테고리의 글 목록 (13 Page) - 솜님의 블로그
솜님의 블로그

분류 전체보기 183

카테고리 설명
  • CHAPTER1. 데이터 모델링의 이해 (1) 모델링이란?모델링(Modeling)이라는 단어를 들었을 때, 다양한 분야의 모델링 공통 분모를 찾아보면 '설계', '디자인' 과 같은 단어들을 생각해낼 수 있다. 데이터베이스에서의 모델링도 이런 단어들을 접목해보면 된다.데이터베이스의 모델링은 '현실 세계를 단순화하여 표현하는 기법' 이다. 모델은 현실세계에서 일어날 수 있는 다양한 현상에 대해 일정한 표기법에 의해 표현해 놓은 모형이라고 할 수 있다.모델링은 이런 모델을 만들어가는 일이다. 모델링이 갖춰야 할 조건- 현실세계를 반영해야 한다.- 단순화하여 표현해야 한다.- 관리하고자 하는 데이터를 모델로 설계한다.  (2) 모델링의 특징1. 추상화 - 현실 세계를 일정한 형식으로 표현하는 것이다. 즉, 아이..

  • 프로그래머의 최고 목표는?유지보수가 용이한 코드를 작성하는 것이다! 이때, 응집도와 결합도가 매우 중요하다.응집도가 높고 결합도가 낮은 코드를 작성해야 한다. 결합도가 낮은 코드코드가 조각조각 분리가 잘 되어있다.모듈화 (컴포넌트화, 함수화)가 잘 되어있다.겹치는 부분이 적다1개의 변경사항이 발생했을 때, 한 곳의 코드만 수정하면 된다는 것을 의미한다.ex) 하드코딩 제거하기, 변수화(상수화) 🍀이해하기 쉬운 예시!샌드위치 (토마토가 들어있음)햄버거 (토마토가 들어있음)샐러드 (토마토가 들어있음)------------------------------------------> 토마토가 상했을 경우토마토가 들어간 부분과, 닿은 부분까지도 다 확인을 해야 한다.하지만 재료끼리 나눠서 보관한다면?토마토 / 오이..

  • 내부 클래스내부 클래스는 클래스 안에 만들어진 또 다른 클래스로 중첩 클래스라고 부른다.클래스에 다른 클래스를 선언하는 이유는 두 개의 클래스가 서로 긴밀한 관계를 맺고 있기 때문이다.🍀내부 클래스의 장점- 두 클래스 멤버들 간에 손쉽게 접근할 수 있다.- 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있다.  바깥쪽의 클래스를 외부 클래스, 안쪽의 클래스를 내부 클래스라고 한다.public class OuterClass{ // 외부 클래스 ... class InnerClass{ // 내부 클래스 .... }}   내부 클래스의 종류내부 클래스는 클래스 안에서 선언된 위치에 따라 인스턴스 클래스(instance class), 정적 클래스(static class), 지역 클래스(lo..

  • 추상 클래스와 추상 메서드 추상 메서드(abstract method)package section11;class Animal{ void cry(){} // 텅 빈 메서드}class Pig extends Animal{ @Override void cry(){ System.out.println("꿀꿀"); }}...class Farm{ void sound(Animal animal){ animal.cry(); // 매개변수 참조 객체의 오버라이딩 된 메서드를 호출 }} 다형성을 위해 메서드 선언은 통일해야 하지만, 실제로 구현하는 내용은 자식 클래스마다 달라야 할 때,부모 클래스의 메서드는 비워두고 자식 클래스에서 오버라이딩하여 구현할 수 있다.위의 예시에서도 볼 수 있듯 선언부만 ..

  • 학생부 프로그램을 MVC 패턴으로 변경한다. : 관련하여 강사님 풀이! 메뉴 5. 평균 출력 // Controllerelse if(action==5) { ArrayList datas=model.selectAll(); // 데이터 정제, 가공 int sum=0; for(StudentDTO data:datas) { sum+=data.getScore(); } double avg=sum*1.0/datas.size(); /* StudentDTO data=model.selectOne(); double avg=data.getAvg(); */ view.print14(avg);} // Model (selectAll인 경우) public ArrayList selectAll() { System..

    JAVA/java

    [JAVA] MVC 패턴_2 NEW

    2024.07.25
    댓글 4
  • 파트별로 코드를 모두 작성하고 -> 우리 파트 내부적으로도 담당이 나뉘어 있기 때문에 우리끼리의 코드도 합치고  -> View와 Model에서 코드를 받아 모두 합쳐보았다. 생각보다 오류로 발생되는 부분이 여러가지 있었는데,진짜 사소한 부분부터 ~ 기능이 제대로 구현되지 않는 오류까지도 발생되었다. 오류의 종류는변수명 다름 (ex. C에서 작성한 이름과 M 혹은 V에서 작성한 이름이 다름), 혹은 오타대소문자 미구분 (ex. setPassword 를 setpassword로 작성하는 등)문자열 비교를 .equals가 아닌 == 사용하여 정상적으로 기능이 동작되지 않음 등등... 다양한 오류가 발생되었다.  ▼ 오류에 대한 내용은 노션에 캡쳐와 함께 기록했다.     다른 곳에서도 확인할 수 있도록 PDF ..

  • 클래스에서의 타입 변환타입 변환은 타입을 다른 타입으로 변환하는 것으로 자바에서는 다음과 같이 두 가지의 대표적 타입 변환이 있다.자료형(타입) 변환클래스의 객체 타입 변환 클래스의 자동 타입 변환자료형에서의 자동 형 변환과 마찬가지로 개발자가 직접 명시하지 않아도 자동으로 타입 변환이 일어나는 것을 '클래스 자동 타입 변환'이라고 한다.클래스 자동 타입 변환은 상속 관계에 있는 자식 클래스의 객체를 부모 타입의 객체로 변환하는 것을 말한다. 자식 클래스를 만들면서 바로 부모 타입으로 변환할 때는 다음과 같이 구현한다.부모 클래스(타입) 객체 변수 = new 자식 클래스();  만들어진자식 객체를 부모 타입으로 변환할 때는 다음과 같다.부모 클래스(타입) 객체 변수 = 자식 객체;    ▼ 예제class..

  • 설계를 기반으로 한글 코딩을 하기 전, 담당을 나눴다.회원가입로그인로그아웃상품 목록 출력 : 재고가 없는 상품에 대해서 [품절] 표시하기장바구니에 상품 담기장바구니에 담긴 상품 목록 출력장바구니에 담긴 상품 목록 구매장바구니에서 상품 빼기메뉴는 총 8개, 기능별로 4개 / 4개로 나눠서 담당을 구분했다!나는 위에 있는 회원가입 ~ 상품 목록 출력 메뉴를 담당하게 되었다. 사용자에게 메뉴를 보여줄 때, 로그인, 로그아웃상태인 경우의 메뉴 출력이 다르기 때문에사용자에게 입력 받는 값에 따라 실행되는 메뉴가 다르다.따라서 번호를 먼저 정의해 주고 진행하였다. 로그인 여부와 관계없는전체 메뉴 / 로그아웃 상태일 때 메뉴(A) / 로그인 상태일 때 메뉴(B)mainlogoutlogin 0. 종료 1. 상품목록 출..

  • 이번 팀플은 MVC 패턴을 이용하여 쇼핑몰 프로그램을 만드는 과제를 받았다! 우리 조는 총 6명이고, Model / View / Controller 세 파트로 나뉘어 각 파트별 2명씩 담당하게 되었다.나는 Controller 파트! 🍀요구사항 🍀 쇼핑몰 프로그램을 MVC 패턴으로 구현해 주세요!- 회원 속성 : 아이디(PK),비밀번호 - 상품 속성 : 품번(PK),품명,가격,재고- 로그인한 회원만 장바구니를 사용할 수 있습니다.- 회원이 로그아웃을 하면 장바구니는 사라집니다. - 요구기능 목록      회원가입     로그인     로그아웃     상품 목록 출력 : 재고가 없는 상품에 대해서 [품절] 표시하기     장바구니에 상품 담기     장바구니에 담긴 상품 목록 출력     장바구니에 담긴..

  • 상속상속이란?우리가 일반적으로 알고 있는 의미와 비슷하다.부모가 자식에게 무언가를 물려주는 것처럼, 자바에서도 부모 역할을 하는 클래스가 자식 역할을 하는 클래스에게 클래스 멤버와 메서드를 물려주는 것을 상속이라고 한다. 상속해 주는 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class), 기반 클래스(base class)라고 하고,상속 받는 클래스를 자식 클래스(child class) 또는 하위 클래스(sub class), 파생 클래스(derived class) 라고 한다. 자바에서 상속을 구현하는 방법은 자식 클래스를 선언할 때, extends 라는 키워드를 사용해 상속받을 클래스를 지명한다.class A{ // 부모 클래스는 자식 클래스에서 지명받기 전에는 부모 클래..

  • 생성자의 특징생성자란?클래스를 구성하는 구성요수 중 하나인 생성자는, 객체를 생성할 때 호출되어 객체의 초기화를 담당한다.객체를 생성하고 초기화하기 위해서는 반드시 생성자를 호출해야 한다.따라서 객체를 생성해야 하는 라이브러리용 클래스는 모두 생성자를 가지고 있다. 생성자는 일반 메서드와 달리 반환 타입이 없으며, 메서드 이름은 클래스 이름과 동일하다.생성자의 기본 구조는 아래와 같다.클래스명(매개변수1, 매개변수2){} 생성자 호출 위치일반 메서드들과는 다르게, 생성자는 호출할 수 있는 곳이 정해져 있다.생성자는 클래스 기반으로 객체를 생성할 때, 객체를 초기화 하는 담당이므로 객체를 생성할 때만 호출할 수 있다. 생성자 호출 방법생성자를 호출할 때는 new 키워드를 함께 사용한다.* new 키워드는 ..

  • 메서드(method)메서드메서드란, 클래스 안에서 특정 기능을 수행하기 위해 코드들을 하나의 블록으로 묶어 놓은 집합을 말한다.필요에 따라 이 집합을 호출해 사용할 수 있다. 메서드처럼 코드들의 집합을 따로 분리하는 것을 '모듈화'라고 부르기도 하는데, 모듈화는 코드를 읽을 때 가독성이 좋으며 프로그램을 수정할 때 더욱 빠르고 쉽게 수정할 수 있다.  메서드 선언메서드는 크게 선언부(signature)와 실행 영역(body)로 구성되어 있다.메서드를 선언하는 방법은 아래와 같다.접근제한자 반환타입 메서드이름(){} 접근 제한자 : 변수와 마찬가지로 해당 메서드에 접근할 수 있는 범위를 결정합니다.반환 타입(return type) : 메서드를 호출하면 메서드는 블록 안에 있는 코드들을 실행한 후 결과값을 ..