분류 전체보기 135

[추상화] abstraction

학습목표 : 단어의 뜻을 통해 객체지향의 추상화를 이해한다. 1. 추상화 언어 정의 - 추상 : 추상 1 抽象 : 명사 심리 여러 가지 사물이나 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용. - 추상화 : 추상화 2 抽象畫 [추상화] 명사 미술 사물의 사실적 재현이 아니고 순수한 점ㆍ선ㆍ면ㆍ색채에 의한 표현을 목표로 한 그림. 일반적으로는 대상의 형태를 해체한 입체파 등의 회화도 포함한다. 2. abstraction 영어정의 An abstraction isageneralidearatherthanonerelatingtoaparticularobject,person,orsituation. 3. 자바에서 추상화는 - class 를 통해 지원한다. OOP 의 추상화는 모델링이다. - 자바는 class 를..

객체지향 (OOP) 2021.05.03

[Team Study] [Singleton2 - Java ver] Spring MVC 에서 Singleton에 대한 고찰

학습목표 : - Spring Framework 에서 싱글톤의 개념을 이해한다. - 싱글톤의 개념을 통해 IoC & DI 까지 살펴본다. - Java Singleton 과 다른 점을 살펴본다. 1. 준비하기 - 이클립스, 메이븐 설치등.. ( 참고 - old-developer.tistory.com/63 ) 2. 클래스 개념도 및 스프링 컨테이너 보기 3. 설명 - Class 새(Bird)가 있다. - 참새(Sparrow) 와 독수리(Eagle)은 새를 상속받는다. - 참새와 독수리는 날수 있다. 날아가는 것을 인터페이스로 표현한다. - 참새와 독수리를 IoC 컨테이너에 넣어서 사용한다. - 인젝션을 설명하기 위해 억지스러운 class Who 를 만든다. - 위 내용이 이해가 안가면, 아래 소스를 직접 구현..

Java Application - 싱글톤 패턴(Singleton pattern) (2 - Web 버젼)

학습목표 : 웹 시스템을 통해 서버에서 싱글톤이 구현되는 부분을 확인한다. 부제 : 여러 사용자의 접근을 통해 웹에서 싱글톤을 확인하자. 1. 웹 프로젝트 실행 (New - Dynamic Web Project) 2. NaSingleClass.java 생성 (싱글톤 객체) package singleton; public class NaSingleClass { private String strName; // 클래스 참조 변수 선언 // 해당 값을 static 으로 선언하여, 메모리에 올려, 모두가 참조하게 함(포인터) private static NaSingleClass singleInstance; // 생성자가 private , new 접근 할 수 없음 private NaSingleClass() { } // ..

객체지향 (OOP) 2021.04.30

Java Application - 싱글톤 패턴(Singleton pattern)

학습목표 - 1. OOP 에서 싱글톤의 개념을 정의하고 이해한다. - 2. 이해한 개념을 Java 코드로 구현할 수 있다. * 참고 - 구글 검색, 구글 이미지, 유투브 : www.youtube.com/watch?v=5jgpu9-ywtY youngjinmo.github.io/2020/04/java-memory/ 1. 싱글톤 이해하기 - 싱글톤은 클래스를 객체화 할때, 첫번째 인스턴스가 메모리에 정적으로 할당되어 해당 메모리 위치를 모든 동일한 인스턴스가 참조하여 사용하도록 함 2. Java coding # 일반 클래스 생성 package singleton.ver1; public class NaSingleClassNo { private static String strName; public NaSingleC..

객체지향 (OOP) 2021.04.29

[Interface] 인터페이스에 대한 수준낮은 고찰

학습목표 : 인터페이스가 낮은 수준에서 어떻게 구현되는지 알게된다. 시나리오 : 버스, 자가용, 자전거가 각각의 클락션 소리를 낸다고 가정한다. 1. MainSample.java package interfacesample.ver1; public class MainSample { public static void main(String[] args) { // TODO Auto-generated method stub Bus bus = new Bus(); System.out.printf("Bus Sound : %s \n",bus.sound()); Car car = new Car(); System.out.printf("Car Sound : %s \n",car.sound()); Bike bike = new Bike..

Java 2021.04.28

Abstract vs Interface

학습목표 : Abstract vs Interface 에 대한 관계를 이해한다. 궁금했다. 왜 Interface 는 abstract 를 표기하지 않을까?? 혹시... 1. Abstract (추상화) * 특징 - 클래스 (abstract class A{}) a) ( = Interface ) 추상 클래스는 객체로 생성하여 사용이 불가하다. b) ( != Interface ) 추상 클래스는 다른 클래스에서 상속(extends) 받아서만 사용 가능하다. c) ( = Interface ) 추상 클래스 의 추상 메서드는 선언만 가능하다. (구현 불가 - 구현은 상속된 클래스에서만 사용) d) ( != Interface ) 추상 클래스는 일반 메서드의 선언과 구현이 가능하다. (Interface 와 다른 점) e) (..

Java 2021.04.24

[Tip] forward vs sendRedirect

이 둘을 이해하기 위해서는 클라이언트(브라우저)에서 넘어오는 request 가 어디까지 가는지를 따라 다녀야 한다. forward - request 가 호출된 servlet ( view.jsp ) 까지 연결된다. 처음 호출된 servlet or jsp 에서 다음 servlet or jsp 로 request를 배달(Dispatcher) 해준다. sendRedirect - request 가 호출된 servlet 에서 일을 마치면, 다른 url 을 호출한다. forward 와 다른건 요청 request 가 redirect 로 이동하는 url 에 전달되지 않는다. 아래 소스를 가볍게 실행해보면 느낌이 올듯 .. 1. 디렉토리 구조 2. 서블릿 하나. package com.easy; import java.io.I..

Servlet (서블릿) 2021.04.23

7. 원시 Model2, MVC 출현 (1 - view 생성까지)

가제 : Jsp 가 너무 힘들어해, 짐을 나눠지자 (Jsp + 서블릿) 학습목표 : M V C 를 흉내내보자. (실제 MVC 를 프로그램 구현 단계에서 칼로 자르듯이 구분하는건 애매한듯.., 그래서 내 맘대로.. MVC) Model : VO, Repository (움직이는 데이타 영역) View : 보여지는 부분, html, jsp Control : 요청에 대한 처리 부분 어쩌면 오늘 배울것들은 지난번 Servlet + jsp 하이브리드 일듯하네요. 1. 패키지 추가 comm.study.mvc - comm.study.mvc.ver1 (mvc 흉내내기) 2. index.html 에 테스트 하도록 추가 MVC - ver1 (Servlet+Jsp 로 mvc 흉내내기) - 회원가입 - 회원List 3. WebC..

5. 원시 Servlet (자바진영의 동적웹 탄생)

학습목표 : 초창기(원시) Servlet 을 통한 동적 웹을 살펴본다. 1. Servlet 정의? (위키백과 참조-ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 자바 서블릿 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 서블릿은 여기로 연결됩니다. 다른 뜻에 대해서는 서블렛 문서를 참조하십시오. 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서 ko.wikipedia.org 2. ServletJoin.java (이클립..

4. 선행작업, member 와 repository

학습목표 : Jsp 만 파먹고 살때는 몰랐던, VO, Repository 의 개념을 살펴보고 구현한다. * 실제 MVC 공부를 하면서 좀 생소한 개념으로 이해하는데 시간이 걸림. Model 에 연관된 개념으로 어떤 값을 저장하고 꺼내오고 하는데 해당 기능을 사용한다. 내 생각에 이 개념을 사용하는 이유는 하나, Servlet 안에 온갖것을 넣어두면, 코딩이 넘 복잡해진다. 그래서, 데이타 영역은 별도록 구분한다. 둘째, 해당 개념을 사용하면 DB에 의존하지 않고 프로그램 구현이 가능해진다. 1. VO , Members.java (입력된 값들은 받고 꺼내고 해주도록 하는 멤버 변수들의 집함) package com.study.comm.vo; /* * 가입하는 회원의 정보를 저장해주는 멤버변수들. * 이 값을..