고급자바프로그래밍 (Advanced Java Programming)

Slides:



Advertisements
Similar presentations
- 1 - IT COOKBOOK 전산정보처리학과 프로그래밍 언어 전산정보처리학과 중위 ( 진 ) 정세화.
Advertisements

작성자조성웅 작성일자 기본환경 1. Java : Eclipse : Tomcat : 6.0 이상 4. DB : MySQL File System : DFS 6. Framework - Spring : JPA 및 CXF.
1 1. 플랫폼과 개발툴 볼랜드포럼 대표시삽 박지훈 Jeehoon Imp Park
Institute of Ambient Intelligence 2009, Choi, Namseok, Dongseo Univ., Java 기초 (Orientation & Java 언어소개 ) Choi,
Page  1 Copyright© 2015 Hanbit Academy, Inc. All rights reserved. [ 강의교안 이용 안내 ] 본 강의교안의 저작권은 한빛아카데미㈜에 있습니다. 이 자료를 무단으로 전제하거나 배포할 경우 저작권법 136 조에 의거하여.
© IBM Corporation 2006 목 차목 차  자바 언어의 소개  자바 언어의 역사  자바 환경 설정 (JDK 1.5)  Documentation API 의 설치  Eclipse 의 설치와 사용법  HelloWorld.
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
시스템 개요 진화 과정 RIA & X-Internet Web Client/Server Main FRame
2009년 IT인재개발원 [연수생 모집요강]
중앙일보 ITEA 전주대학교 IT교육원 운영계획(안)
01. 안드로이드 개요와 개발환경 구축 제목.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
APPEON SOLUTION INTRODUCTION.
Web Service XML Security
이규헌 강병현 송영철.
어서와 Java는 처음이지! 제1장 기초 사항.
Sun Mon Tue Wed Thu Fri Sat
1 January 2 February 3 March 4 April 5 May 6 June 7 July 8 August
2013 January 2012년 도원초 4학년1반 기념 달력 1신정
Web Programming 강의 소개
공개소프트웨어란? “Open Source Software(공개SW)는 저작권자가 소스 코드를 개방하여 소스 코드의 수정, 재 배포가 자유로운 SW로 규정한다 공개소프트웨어는 전세계 개발자 누구나 참여하고 있는 커뮤니티 프로젝트로 개발되며, 브랜드를 달고.
알기 쉽게 해설한 Java 8th edition
이번 시간에는... 지난 시간에는 VM 기반 모바일 플랫폼 기술의 첫번째 시간으로, 모바일 플랫폼 및 그 현황과, GVM, XVM, WITOP, Brew 및 JavaStation 모바일 플랫폼의 특징과 구성에 대해 알아 보았습니다. 이번 시간에는 모바일 플랫폼 기술 그.
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
Operating Systems Overview
제 1 장. JAVA란 작성자 : NLIP.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
Introduction to Web Service Computing
웹 서비스 (Web Services).
국내 IT인재 일본진출 현황 및 성과 한 국 정 보 통 신 산 업 협 회 부설 한국정보통신인력개발센터.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
Java 기초 (Orientation & Java 언어소개)
1강 01장. 웹과 자바.
Chapter 01 : Java EE 개요. chapter 01 : Java EE 개요.
IOC, DI 2015 Web Service Computing.
임베디드 프로그래밍 Lecture #
Socket & Plug 기반의 u-Banking Platform
Visual C++ Programming
(Network Transaction Application Server)
Java IT응용시스템공학과 김형진 교수 2장. 자바의 환경 public class SumTest {
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
웹 서비스 (Web Services).
Power Java 제1장 자바 소개.
( Overview of the Course Kwangman Man ( SangJi University.
1 January 2 February 3 March 4 April 5 May 6 June 7 July 8 August
제1장 서론.
객체 지향 프로그래밍.
AOP (Aspect Oriented Programing)
2003년도 학생용 달력 이 서식 파일을 인쇄해서 벽걸이 달력으로 사용할 수 있고 사용자의 프레젠테이션에 필요한 부분만 복사해서 사용할 수도 있습니다. 새 디자인 서식 파일을 적용하면 달력의 모양을 바꿀 수 있습니다.
Calendar 2012 Photopolio..
DataScience Lab. 박사과정 김희찬 (월)
03. 안드로이드를 위한 Java 문법 제목. 03. 안드로이드를 위한 Java 문법 제목.
November 일 월 화 수 목 금 토
3. Spring 프레임워크의 IoC 컨테이너 개념
제 1장 서론 Hello!! C 언어 강성호 김학배 최우영.
Spring 프레임워크의 이해 3. Spring IoC 이해 및 활용.
Small-scale Java Virtual Machines
김 정 석 Web Programming 김 정 석
Spring DI 이해 및 활용.
Spring Framework 플랫폼개발실 김광욱
2015년 디지털컨버전스 청년취업아카데미.
자바 5.0 프로그래밍.
UML과 객체지향 모델링 UML의 개요 객체지향 모델링.
Architecture.
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
웹 프로그래밍 기술 요약 Yang-Sae Moon Department of Computer Science
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Java Programming for Beginners
POWER POINT TEMPLATE 2019 CALENDAR.
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
Presentation transcript:

고급자바프로그래밍 (Advanced Java Programming) 강원대학교 컴퓨터학부 2012년 가을학기 담당교수 정충교

Java 1995 발표, Sun Microsystems "write once, run anywhere" (WORA) James Gosling 등 J2SE, J2EE. J2ME Java Community Process (JCP) 2007 GNU General Public License 2010 Oracle Corporations 10M users, 1G machines

Java simple, object-oriented and familiar robust and secure architecture-neutral and portable high performance interpreted, threaded, and dynamic

Java JDK 1.0 (January 23, 1996) JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) J2SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011)

Object-Oriented Programming Dynamic Encapsulation Polymorphism Inheritance

Spring 개발이 즐겁다! software 생산성과 품질 객체지향 프로그래밍 원칙 충실 비침투적 구조 (POJO) Plain Old Java Object

객체지향 프로그래밍 원칙 충실 유연성 재활용성 보안성 수정 없이도 여러 상황, 변하는 상황에 대처 (다형성, 동적바인딩에 의해 구현됨) 재활용성 클래스를 변경 없이 재활용 추가 기능, 기능 수정 필요시 기존 클래스 변경 없이 클래스 확장을 통해 대처 보안성 캡슐화를 통해 필요한 정보만을 외부에 노출

용어 OCP (Open/Closed Principle) 수정에는 닫혀 있고 확장에는 열려있다.

프레임워크 (framework) 특징 (library와 비교할 때) IoC (inversion of control) 전체적인 프로그램 실행이 플레임워크에 의해 제어됨 기본동작 (default behavior) 별다른 추가 작업 없이도 쓸만한 기본 동작을 제공 확장성 (extensibility) 사용자에 의한 선택적 재정의 혹은 기능 추가에 의해 변경 불가 일반적으로 사용자에 의한 확장은 허용하지만 프레임워크 자체의 변경은 불가함 (http://en.wikipedia.org/wiki/Software_framework 발췌)

컨테이너 - 컴포넌트 구조 (container - component) 개방형 구조 사용자는 제 3자가 작성한 컴포넌트를 추가함으로써 애플리케이션의 기능을 확장할 수 있음 컴포넌트를 추가할 때 아무런 프로그램 변경도 필요하지 않음 사용자는 시장에 있는 많은 컴포넌트들 중에서 골라 사용할 수 있다. (http://www.cs.sjsu.edu/~pearce/modules/patterns/enterprise/Container.htm 요약)

컴포넌트 (component) 컴포넌트 (plugin이라고 불리기도 함) 어떤 인터페이스를 구현하고 있는, 서로 협력하는 객체들 디폴트 생성자, getter/setter를 갖는 프로퍼티

컨테이너 (container) 시스템 기능을 수행함 컴포넌트들의 라이프사이클 관리 컴포넌트들에게 기반 서비스를 제공 create, suspend, resume, destroy 컴포넌트들에게 기반 서비스를 제공 communication persistence security execution environment (a VM for example) synchronization white and yellow page directories, etc.

컨테이너 예 Browsers containing Applets Web Containers containing Sevelets EJB Containers containing EJB Beans The Eclipse platform containing plugins The Visual Basic IDE containing VB controls The PC Motherboard and PCI or ISA expansion cards

Enterprise Application multiuser, mission critical transaction support, security, distributed computing EJB --> light-weight frameworks

스프링 Lightweight and minimally invasive development with POJOs (Plain Old Java Objects) Loose coupling through dependency injection and interface orientation Declarative programming through aspects and common conventions Boilerplate reduction through aspects and templates