PowerPoint Presentation

Size: px
Start display at page:

Download "PowerPoint Presentation"

Transcription

1 Spring Framework 의이해 - 강사김현오 -

2 1. 스프링프레임워크개요 1.1 스프링프레임워크개요 1.2 스프링시작하기 스프링의등장배경 POJO 프레임워크 스프링프레임워크

3 스프링의등장배경 (1/2) 자바엔터프라이즈애플리케이션개발표준인 EJB EJB 를사용하면애플리케이션작성을쉽게할수있다. 저수준의트랜잭션이나상태관리, 멀티쓰레딩, 리소스풀링과같은복잡한저수준의 API 따위를이해하지못하더라도아무문제없이애플리케이션을개발할수있다. Enterprise JavaBean 1.0 Specification, Chapter 2 Goals 그러나, 현실은너무어려웠다. EJB 의대안, 스프링프레임워크 Rod Johnson 은자신의저서에서 EJB 를사용하지않고엔터프라이즈애플리케이션을개발하는방법을소개하였고, 이것이스프링프레임워크의모태가되었다. 2

4 스프링의등장배경 (2/2) EJB 개구려서내가이번에 EJB 안쓰고개발하기 책냈으니횽아들한번만봐주삼 ~ Rod Johnson 오! 대박 ~ 이생퀴잘만들었는데? 이거오픈소스로함만들어보까? Juergen Hoeller ㅇㅇ ~ EJB 가개겨울같았으니까이름을 봄 으로하는게어때? Yann Caroff 3

5 POJO + Framework 점차 POJO + 경량프레임워크을사용하기시작 POJO 특정프레임워크나기술에의존적이지않은자바객체 특정기술에얽매이지않기때문에생산성, 이식성향상 경량프레임워크 EJB 가제공하는서비스를지원해줄수있는프레임워크등장 Hibernate, JDO, ibatis, Spring 4

6 스프링프레임워크 (1/2) 스프링프레임워크란? 자바로엔터프라이즈애플리케이션을만들때포괄적으로사용할수있는 Programming 및 Configuration 모델을제공해주는프레임워크 그러니, 주로하는일은애플리케이션수준에인프라스트럭처를제공하는일이고 쉽게말하면, 개발자가귀찮은일에신경쓰지않고비즈니스로직개발에만전념할수있게해준다. * 엔터프라이즈시스템이란서버에서동작하며기업과조직의업무를처리해주는시스템을말한다. 5

7 스프링프레임워크 (2/2) 2003 년 6 월아파치 2.0 라이선스로공개 Release History 1.0 : 2004 년 4 월 2.0 : 2006 년 10 월 2.5 : 2007 년 11 월 3.0 : 2009 년 12 월 3.1 : 2011 년 12 월 : 2013 년 1 월 : 2014 년 1 월 6

8 스프링프로젝트 7

9 오픈소스프레임워크 8

10 1. 스프링프레임워크개요 1.1 스프링프레임워크개요 1.2 스프링시작하기 실습환경준비 (Maven, STS) Hello MVC

11 Maven Maven 소프트웨어프로젝트를포괄적으로관리할수있게해주는도구 Project Object Model 개념에기반 프로젝트의빌드, 의존성관리, 리포팅, 문서화등의기능제공 현재가장많이사용하는소프트웨어프로젝트관리도구 Maven by google trends 10

12 Maven 11

13 Maven 의존관계관리 Maven 의 pom.xml 에서프로젝트간의존관계를관리할수있다. My Project 12

14 STS Spring Tool Suite 이클립스기반의스프링용통합개발환경 STS 를설치하는두가지방법 1. STS IDE 설치하기 2. 기존이클립스에설치하기 Spring.io 사이트에서 STS 다운로드 Eclipse Marketplace 에서 STS 설치 13

15 2. 스프링프레임워크이해와활용 2.1 스프링프레임워크의이해 2.2 IoC Spring Framework 의구조 POJO 공통프로그래밍모델 IoC/AOP/PSA 경량컨테이너 SOLID 원칙

16 Spring Framework 구조 스프링삼각형 스프링애플리케이션은 POJO 를이용해서만든애플리케이션코드와 POJO 가어떻게관계를맺고동작하는지를정의해놓은설계정보로구분된다. POJO PSA 설계정보 15

17 Plain Old Java Object POJO Plain Old Java Object 특별한기술에종속되지않은순수한자바객체 테스트하기용이하며, 객체지향설계를자유롭게적용할수있음 - Martin Fowler, Rebecca Parson, Josh Mackenzie가 2000년에만든용어 e wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely POJO PSA 16

18 Plain Old Java Object 스프링이엔터프라이즈시스템의복잡함을다루는방법 스프링은비즈니스로직의복잡함과엔터프라이즈기술의복잡함을분리해서구성할수있도록도와준다. POJO POJO 비즈니스로직의복잡함 엔터프라이즈애플리케이션전체의복잡함 POJO POJO 엔터프라이즈기술의복잡함 스프링프레임워크 17

19 Inversion Of Control IoC 객체지향언어에서 Object간의연결관계를런타임에결정하게하는방법 객체간의관계가느슨하게연결됨 (loose coupling) IoC의구현방법중하나가 DI(Dependency Injection) 참조 POJO PSA 18

20 Inversion Of Control 헐리우드원칙 Hollywood Principle Don t call us, we will call you! 19

21 Aspect Oriented Programming AOP 관심사의분리 (SoC) 를통해서소프트웨어의모듈성을향상시키고자하는프로그래밍패러다임 소스코드레벨에서관심사의모듈화를지함하는프로그래밍방법이나도구를포함 oriented_programming 참조 POJO PSA 20

22 Portable Service Abstraction PSA 환경과세부기술의변화에관계없이일관된방식으로기술에접근할수있게해주는설계원칙 예를들어, 데이터베이스에관계없이동일하게적용할수있는트랜잭션처리방식 POJO PSA 21

23 경량컨테이너 가벼움 (Lightweight) 20여개의모듈로세분화되는수십만코드라인 불필요하게무겁지않음 Spring이필요로하는처리능력 ( 성능 ) 은무시할정도 경량컨테이너 (Lightweight Container) 애플리케이션객체의생명주기 (Lifecycle) 와설정 (Configuration) 을담고관리함 애플리케이션객체를생성하고, 설정하고, 객체간의관계를지정하는방법을제공 22

24 객체지향설계원칙 (SOLID) SOLID 원칙 객체지향프로그래밍및설계의 5가지기본원칙 이원칙들을적용하면, 상대적으로유지보수하기쉽고확장성있는시스템을만들수있음 리팩토링을위한가이드라인으로사용할수있음 agile, adaptive programming의주요전략 참조 Robert C. Martin (Uncle Bob) OOP, C++, Java, Patterns, UML, 컨설턴트애자일소프트웨어개발선언문 Object Mentor 설립 ( cleancoders.com 23

25 객체지향설계원칙 (SOLID) SOLID 원칙 약자 FullName 설명 SRP OCP LSP ISP DIP The Single Responsibility Principle The Open Closed Principle The Liskov Substitution Principle The Interface Segregation Principle The Dependency Inversion Principle 한클래스 ( 모듈 ) 은하나의책임을가져야함. 한클래스는변경할이유를하나만가져야함 클래스를변경하는것없이클래스의행위를확장할수있어야함 상속된클래스는기반클래스타입으로대체할수있어야함 클라이언트가명확하도록상세한인터페이스를만들어라. 구체클래스가아닌추상화된클래스에의존해라. 24

26 2. 스프링프레임워크이해와활용 2.1 스프링프레임워크의이해 2.2 스프링 IoC 2.3 스프링빈설정 IoC 개념 의존관계검색과주입 IoC 컨테이너 애플리케이션컨테이너

27 IoC 개념 (1/5) 객체제어방식 기존 : 필요한위치에서개발자가필요한객체생성로직구현 IoC : 객체생성을 Container에게위임하여처리 IoC 사용에따른장점 객체간의결합도를떨어뜨릴수있음 (loose coupling) 객체간결합도가높으면? 해당클래스가유지보수될때그클래스와결합된다른클래스도같이유지보수되어야할가능성이높음 26

28 IoC 개념 (2/5) Open/Closed Principle OOP 에서의엔티티 ( 클래스, 모듈, 함수 ) 는확장에는열려있고변경에는닫혀있어야함 High cohesion/loose Coupling 하나의클래스는하나의기능만을담당해야함 클래스간의관계는책임들이얽혀있어서는안되며쉽게다른관계로대치될수있어야함 Hollywood Principle Don t call us, we will call you! 27

29 IoC 개념 (3/5) 객체간의강한결합의예 BookService 구현체와 UserService 구현체를 BookShelfService 에서직접생성하여사용. BookService 또는 UserService 가교체되거나내부코드가변경되면 BookShelfService 까지수정해야할필요성이있음 BookShelfService 에서 BookService 의구현체와 UserService 의구현체를직접생성함 28

30 IoC 개념 (4/5) 객체간의강한결합을다형성을이용해결합도를낮춤 BookService 와 UserService 는 CommonService 를상속함 BookShelfService 에서각서비스를이용시 BookService 와 UserService 모두 CommonService 타입으로이용가능 BookService 와 UserService 모두 CommonService 형태로이용가능함 29

31 IoC 개념 (5/5) 객체간의강한결합을 Factory를이용해결합도를낮춤 각 Service를생성하여반환하는 Factory 이용 Service를이용하는쪽에서는인터페이스만알고있으면어떤구현체가어떻게생성되는지에대해서는알필요없음 이 Factory 패턴이적용된것이 Container의기능이며이 Container의기능을제공해주고자하는것이 IoC모듈 각서비스를생성하여반환하는책임을가진 Factory 30

32 의존관계검색과주입 Dependency Lookup 컨테이너가 lookup context를통해서필요한리소스나오브젝트를얻는방식 JNDI 이외의방법을사용한다면 JNDI관련코드를오브젝트내에서일일이변경해주어야함 lookup 한오브젝트를필요한타입으로 Casting 해주어야함 Naming Exception을처리하기위한로직필요 Dependency Injection 오브젝트에 lookup 코드를사용하지않고컨테이너가직접의존구조를오브젝트에설정할수있도록지정해주는방식 오브젝트가컨테이너의존재여부를알필요가없음 lookup 관련된코드들이오브젝트내에서사라짐 Setter Injection Constructor Injection Dependency Lookup JNDI Lookup IoC Setter Injection Dependency Injection Constructor Injection Method Injection 31

33 IoC 컨테이너 오브젝트의생성과관계설정, 사용, 제거등의작업을애플리케이션코드대신독립된컨테이너가담당 컨테이너가코드대신오브젝트에대한제어권을갖고있어 IoC라고부름 이런이유로, 스프링컨테이너를 IoC 컨테이너라고부르기도함 스프링에서 IoC를담당하는컨테이너에는 BeanFactory,ApplicationContext가있음 interface BeanFactory 빈 (bean) 객체에대한생성과제공을담당 단일유형의객체를생성하는것이아니라, 여러유형의빈 (bean) 을생성, 제공 객체간의연관관계를설정, 클라이언트의요청시빈을생성 빈의라이프사이클을관리 interface ApplicationContext BeanFactory 가제공하는모든기능제공 엔터프라이즈애플리케이션을개발하는데필요한여러기능을추가함 I18N, 리소스로딩, 이벤트발생및통지 컨테이너생성시모든빈정보를메모리에로딩함 interface ebapplicationcontext 웹환경에서사용할때필요한기능이추가된애플리케이션컨텍스트 가장많이사용하며, 특히 Xml ebapplicationcontext 를가장많이사용 32

34 애플리케이션컨텍스트 ApplicationContext 싱글톤레지스트리로서의애플리케이션컨텍스트 애플리케이션컨텍스트는우리가만들었던오브젝트팩토리와비슷한방식으로동작하는 IoC 컨테이너이다. 스프링은기본적으로별다른설정을하지않으면내부에서생성하는빈오브젝트를모두싱글톤으로만든다. 매번클라이언트에서요청이올때마다각로직을담당하는오브젝트를새로만들어서사용한다고생각해보자. 요청한번에 5 개의오브젝트가새로만들어지고초당 500 개의요청이들어오면, 초당 2500 개의새로운오브젝트가생성된다. 1 분이면십오만개, 한시간이면 9 백만개의새로운오브젝트가만들어진다. 아무리자바의오브젝트생성과가비지컬렉션의성능이좋아졌다고한들이렇게부하가걸리면서버가감당하기힘들다. 그래서엔터프라이즈분야에서는서비스오브젝트라는개념을일찍부터사용해왔다. 서블릿은자바엔터프라즈기술의가장기본이되는서비스오브젝트라고할수있다. 스펙에서강제하진않지만, 서블릿은대부분멀티스레드환경에서싱글톤으로동작한다. 서블릿클래스당하나의오브젝트만만들어두고, 사용자의요청을담당하는여러스레드에서하나의오브젝트를공유해동시에사용한다. 33

35 스프링 IoC 주요용어 빈 (bean) 스프링이 IoC 방식으로관리하는오브젝트를말한다. 관리되는오브젝트라고부르기도한다. 스프링이직접그생성과제어를담당하는오브젝트만을빈이라고부른다. 빈팩토리 (bean factory) 스프링이 IoC 를담당하는핵심컨테이너를가리키다. 빈을등록하고. 생성하고, 조회하고돌려주고, 그외에부가적인빈을관리하는기능을담당한다. 보통은이빈팩토리를바로사용하지않고이를확장한애플리케이션컨텍스트를이용한다. 애플리케이션컨텍스트 (application context) 빈팩토리를확장한 IoC 컨테이너이다. 빈을등록하고관리하는기본적인기능은빈팩토리와동일하다. 스프링이제공하는각종부가서비스를추가로제공한다. 빈팩토리라고부를때는주로빈의생성과제어의관점에서이야기하는것이고, 애플리케이션컨텍스트라고할때는스프링이제공하는애플리케이션지원기능을모두포함해서이야기하는것이라고보면된다. 설정정보 / 설정메타정보 (configuration metadata) 스프링의설정정보란애플리케이션컨텍스트또는빈팩토리가 IoC 를적용하기위해사용하는메타정보를말한다. 이는구성정보내지는형상정보라는의미이다. 스프링프레임워크 스프링프레임워크는 IoC 컨테이너, 애플리케이션컨텍스트를포함해서스프링이제공하는모든기능을통틀어말할때주로사용한다. 34

36 2. 스프링프레임워크이해와활용 2.1 스프링프레임워크의이해 2.2 스프링 IoC 2.3 스프링빈설정 스프링빈 Scope 스프링빈설정 스프링빈생명주기

37 스프링빈 Scope 스프링빈생성범위 범위 설명 singleton 스프링컨테이너당하나의인스턴스빈만생성 ( 디폴트 ) prototype request session 컨테이너에빈을요청할때마다새로운인스턴스생성 HTTP 요청별로새로운인스턴스를생성 HTTP 세션별로새로운인스턴스를생성 싱글톤빈 (Singleton Bean) 스프링빈은기본적으로싱글톤으로만들어짐 따라서, 컨테이너가제공하는모든빈의인스턴스는항상동일함 컨테이너가항상새로운인스턴스를반환하게만들고싶다면 scope 을 public class BeanScopeBookDatasource { } private String driverclass; private String url; private String username; private String password; 36

38 스프링빈설정 스프링빈설정메타정보 XML 문서 애노테이션 BeanDefinition 메타정보 IoC 컨테이너 자바코드 메타정보의표현방식 37

39 스프링빈설정 - XML XML 방식의스프링빈설정 XML문서형태로빈의설정메타정보를기술 단순하며사용하기쉬움, 가장많이사용하는방식 <bean> 태그를통해세밀한제어가가능 XML 방식부터익히는것이쉬움 <?xml version="1.0" encoding="utf 8"?> <beans xmlns=" xmlns:xsi=" instance" xsi:schemalocation=" beans.xsd"> <bean id="chef" class="kr.or.kosta.spring.cookbook.chef"> <property name="recipe" ref="recipe"/> </bean> <bean id="recipe" class="kr.or.kosta.spring.cookbook.recipe.gimchi"/> </beans> 38

40 스프링빈설정 - Annotation 애노테이션방식의스프링빈설정 애플리케이션의규모가커지고빈의갯수가많아질경우 XML 파일을관리하는것이번거로움 빈으로사용될클래스에특별한애노테이션을부여해주면자동으로빈등록가능 오브젝트빈스캐너 로 빈스캐닝 을통해자동등록 빈스캐너는기본적으로클래스이름을빈의아이디로사용한다. public class AnnotatedChef Recipe recipe; public void sayingredients() { StringBuffer sb = new StringBuffer(); String[] ingredients = recipe.ingredients(); for (String ingredient : ingredients) { sb.append(ingredient); sb.append("\n"); } System.out.println(sb.toString()); } 39

41 스프링빈설정 - Annotation 애노테이션으로빈설정시꼭 component scan 을설정해주어야한다. <annotated root context.xml> <?xml version="1.0" encoding="utf 8"?> <beans xmlns=" xmlns:xsi=" instance" xmlns:context=" xsi:schemalocation= " beans.xsd xsd"> </beans> <context:component scan base package="kr.or.kosta.*"/> 40

42 스테레오타입애노테이션목록 빈자동등록에사용할수있는애노테이션목록 빈자동인식을위한애노테이션을이렇게여러가지로사용하는데는계층별로빈의특성이나종류를나타내려는목적도있고, AOP 포인트컷표현식을사용하면특정애노테이션이달린클래스만을선정할수가있다. 적용대상 데이터액세스계층의 DAO 또는 Repository 클래스에사용 DataAccessException 자동변환과같은 AOP 의적용대상을선정하기위해사용하기도함 서비스계층의클래스에사용 프레젠테이션계층의 MVC 컨트롤러에사용. 스프링웹서블릿에의해웹요청을처리하는컨트롤러빈으로선정 위의계층구분을적용하기어려운일반적인경우에사용 41

43 의존관계주입 (Dependency Injection, DI) 의존관계주입 (dependency injection) 제어의역행 (inversion of control, IoC) 이라는의미로사용되었음 Martin Fowler, 2004( - 제어의어떠한부분이반전되는가라는질문에 의존관계주입 이라는용어를사용 - 복잡한애플리케이션은비즈니스로직을수행하기위해서최소두개이상의클래스들이서로협업 - 각각의객체는협업하고자하는객체의참조를얻는것에책임성이있음 - 이부분은높은결합도 (highly coupling) 와테스트하기어려운코드를양산함 DI 를통해시스템에있는각객체를조정하는외부개체가객체들에게생성시에의존관계를주어짐 - 즉, 의존이객체로주입됨 - 객체가협업하는객체의참조를어떻게얻어낼것인가라는관점에서책임성의역행 (inversion of responsibility) 임 - 느슨한결합 (loose coupling) 이주요강점 - 객체는인터페이스에의한의존관계만을알고있으며, 이의존관계는구현클래스에대한차이를모른채서로다른구현으로대체가능 File 의존관계주입 Writer Console 의존관계주입 42

44 스프링빈의존관계설정 @Inject 적용대상 JSR 250 표준 Annotation, 스프링 2.5 부터지원멤버변수, Setter 메소드에사용가능 스프링 2.5 부터지원스프링에서만사용가능, required 속성을통해 DI 여부조정멤버변수, Setter, 생성자, 일반메서드에사용가능 JSR 330 표준, Spring 3.0 부터사용가능프레임워크에종속적이지않음, javax.inject x.x.x.jar 필요멤버젼수, Setter, 생성자, 일반메서드에사용가능 43

45 스프링빈의존관계설정 public class Chef // 동일한타입의빈이여러개일경우 name 을통해서구분한다. Recipe recipe; public void sayingredients() { StringBuffer sb = new StringBuffer(); String[] ingredients = recipe.ingredients(); for (String ingredient : ingredients) { sb.append(ingredient); sb.append("\n"); } System.out.println(sb.toString()); } 44

46 스프링빈의존관계설정 애노테이션사용 public class Chef { Recipe recipe; public Recipe getrecipe() { return recipe; public void setrecipe(recipe recipe) { this.recipe = recipe; } 45

47 스프링빈의존관계설정 public class PrintChef { Recipe recipe; Printer printer; public PrintChef() // 생성자가여러개일경우에는하나만사용가능 public PrintChef(@Qualifier("bulGoGi") Recipe Printer printer) { this.recipe = recipe; this.printer = printer; } 동일한타입의 bean 이름 ) 으로식별한다. 46

48 스프링빈의존관계설정 public class Printer printer; public PrintChef() {} public PrintChef(Recipe recipe, Printer printer) { this.recipe = recipe; this.printer = printer; } 동일한타입의 bean 이름 ) 으로식별한다. 47

49 스프링빈의존관계설정 public class PrintChef { Recipe recipe; Printer printer; public PrintChef(Recipe recipe, Printer printer) { this.recipe = recipe; this.printer = printer; public void initprintchef(@qualifier("bulgogi") Recipe Printer printer) { this.recipe = recipe; this.printer = printer; 는 xml 설정사용시는불가능함 48

50 스프링빈생명주기 49

51 토의 질의응답 토론 넥스트리소프트 ( 주 ) 김현오선임 (hyunohkim@nextree.co.kr) 50

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

Spring 정의 2012 년 1 월 31 일화요일 오젂 9:17 1. 개요 1.1. 목적 수많은프로젝트에서프레임워크나아키텍체에대한관심없이대부분의개발을개발자의능력에젂담시키는것이일반적이다. 이는프로젝트의위험요소를증가시킬뿐만아니라개발완료후유지보수비용을증가시킴으로써추가적인비

Spring 정의 2012 년 1 월 31 일화요일 오젂 9:17 1. 개요 1.1. 목적 수많은프로젝트에서프레임워크나아키텍체에대한관심없이대부분의개발을개발자의능력에젂담시키는것이일반적이다. 이는프로젝트의위험요소를증가시킬뿐만아니라개발완료후유지보수비용을증가시킴으로써추가적인비 Spring 정의 2012 년 1 월 31 일화요일 오젂 9:17 1. 개요 1.1. 목적 수많은프로젝트에서프레임워크나아키텍체에대한관심없이대부분의개발을개발자의능력에젂담시키는것이일반적이다. 이는프로젝트의위험요소를증가시킬뿐만아니라개발완료후유지보수비용을증가시킴으로써추가적인비용부담을초래할뿐더러안정성에도문제가되곤한다. 이에본내용은 Spring Framework를통해앞에서의문제점들을해결할수있는데초점을맞췄으며,

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Spring

Spring Spring MVC 프로젝트생성 2015 Web Service Computing 일반적인스프링의정의 스프링의정의 자바엔터프라이즈개발을편하게해주는오픈소스경량급애플리케이션프레임워크 스프링의기원 로드존슨 (Rod Johnson) 이라는유명 J2EE 개발자가출간한 Expert One-on- One J2EE Design and Development 이라는제목의책에소개된예제샘플

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 3. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2006.10.15 최종작성일 : 2007.09.12 1 Goal Object Oriented Design Principles 2 Contents 1.

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 웹서버프로그래밍 2 JSP 개요 01. JSP 개요 (1) 서블릿 (Servlet) 과 JSP(Java Server Page) 서블릿은자바를이용한서버프로그래밍기술 초기웹프로그래밍기술인 CGI(Common Gateway Interface) 를대체하기위해개발되었으나, 느린처리속도, 많은메모리요구, 불편한화면제어등의한계로 PHP, ASP 등서버스크립트언어등장 JSP

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석 Inclusion Polymorphism 과 UML 클래스다이어그램구조에의거한디자인패턴해석 이랑혁, 이현우, 고석하 rang2guru@gmail.com, westminstor@naver.com, shkoh@cbnu.ac.kr 충북대학교경영정보학과 충북청주시흥덕구개신동 12 번지충북대학교학연산공동기술연구원 843 호 Tel:043-272-4034 55 Keyword

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

Microsoft PowerPoint - 테스트주도개발.pptx

Microsoft PowerPoint - 테스트주도개발.pptx 테스트가능한 소프트웨어설계와 TDD 작성패턴 Testable software design & TDD patterns 한국스프링사용자모임 (KSUG ) 채수원 발표자소개 LG CNS 경영기술교육원기술교육팀전임강사 강의과목디자인패턴 & 리팩터링 분석설계실무 Agile 적용실무 블로그여름으로가는문 blog.doortts.com Comments 내용이나후기에대해서는

More information

슬라이드 1

슬라이드 1 EJB and JBoss SEAM 양수열소장 Java Champion, JCO Advisor, Inpion Consulting Agenda Web Framework & EJB What is Seam? Why Seam? Q/A Framework history Main Milestone in Standard & OpenSource 95 96 97 98 99 00

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

<323020C0CCB8EDC8A32DB0E6B7AEC4C1C5D7C0CCB3CA2E687770>

<323020C0CCB8EDC8A32DB0E6B7AEC4C1C5D7C0CCB3CA2E687770> 한국산학기술학회논문지 Vol. 10, No. 3, pp. 589-595, 2009 이명호 1* 1 세명대학교전자상거래학과 Design and Implementation of Hotel Reservation System Based Spring Framework 2.5 of Lightweight Container Architecture Myeong-Ho Lee

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Software Verification Junit, Eclipse 및빌드환경 Team : T3 목차 Eclipse JUnit 빌드환경 1 Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 7. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.08.10 최종작성일 : 2007.09.05 1 Goal A Set of Contained Responsibilities 2 Content 1.

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 4. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.06.12 최종작성일 : 2007.08.31 1 2 Goal Flexibility & Reusability Content 1. Flexibility

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

cover story3 자바기술의미래를비추는거울 스프링프레임워크 2.5 스프링프레임워크 (SpringFramework) 의세번째메이저업그레이드인스프링 (Spring) 2.5 가지난 11 월말에릴리즈되었다. 스프링의캐치프레이 즈처럼더욱간결해지고더욱강력해진 (simpler

cover story3 자바기술의미래를비추는거울 스프링프레임워크 2.5 스프링프레임워크 (SpringFramework) 의세번째메이저업그레이드인스프링 (Spring) 2.5 가지난 11 월말에릴리즈되었다. 스프링의캐치프레이 즈처럼더욱간결해지고더욱강력해진 (simpler cover story3 자바기술의미래를비추는거울 스프링프레임워크 2.5 스프링프레임워크 (SpringFramework) 의세번째메이저업그레이드인스프링 (Spring) 2.5 가지난 11 월말에릴리즈되었다. 스프링의캐치프레이 즈처럼더욱간결해지고더욱강력해진 (simpler and more powerful) 스프링 2.5 의달라진모습과 2008 년에새롭게등장하는스프링포트폴리오에

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

Microsoft PowerPoint - JCO2007_Spring2.0_발표자료_Rev-A.ppt [호환 모드]

Microsoft PowerPoint - JCO2007_Spring2.0_발표자료_Rev-A.ppt [호환 모드] From Spring 1.x Spring 2.0 To 이일민 (Consultant, Epril) 안영회 (Consultant, Epril) 2 목차 q Spring의목표와전략 q Spring 2.0 q Core Container and DI q AOP q Portable Service Abstractions q Web q Spring Portfolio 3 Spring

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A632C8B8C7D1B1B9BDBAC7C1B8B5BBE7BFEBC0DAB8F0C0D32D496E E D56432E BC8A3C8AF20B8F0B5E55D> Inside Spring Web MVC 안영회 ahnyounghoe@gmail.com 차례 MVC 개요와오해 Spring Web MVC 개요 Demo 로이해하는 Spring Web MVC 대표적인컨트롤러활용 정리 한국 스프링 사용자 모임 MVC 개요와 오해 한국 스프링 사용자 모임 MVC 개요 MVC 에대한오해 컨트롤러는서블릿이다! 컨트롤러는액션이다! 비즈니스로직은컨트롤러다!

More information

Web Services 와 EAI

Web Services 와 EAI Spring.NET 프레임워크활용가이드 Version 0.2 엔소아컨설팅대표컨설턴트전병선 Spring.NET 프레임워크활용가이드 애플리케이션프레임워크 Spring.NET 프레임워크 IoC 컨테이너와 DI AOP (Aspect-Oriented Programming) 애플리케이션프레임워크 프레임워크 (framework) 틀구조, 뼈대, 골격, 구조, 구성 애플리케이션프레임워크

More information

JAVA Bean & Session - Cookie

JAVA Bean & Session - Cookie JAVA Bean & Session - Cookie [ 우주최강미남 ] 발표내용소개 자바빈 (Java Bean) 자바빈의개요 자바빈의설계규약 JSP 에서자바빈사용하기 자바빈의영역 세션과쿠키 (Session & Cookie) 쿠키의개요 쿠키설정 (HTTP 서블릿 API) 세션의개요 JSP 에서의세션관리 Java Bean Q. 웹사이트를개발한다는것과자바빈?? 웹사이트라는것은크게디자이너와프로그래머가함께개발합니다.

More information

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인 표준프레임워크로구성된컨텐츠를솔루션에적용하는것에문제가없는지확인 ( S next -> generate example -> finish). 2. 표준프레임워크개발환경에솔루션프로젝트추가. ( File -> Import -> Existring Projects into

More information

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\) Session 을이용한현재로그인한사용자의 숫자구하기 작성자 : 김성박 ( 삼성 SDS 멀티캠퍼스전임강사 ) email : urstory@nownuri.net homepage : http://sunny.sarang.net - 본문서는http://sunny.sarang.net JAVA강좌란 혹은 http://www.javastudy.co.kr 의 칼럼 란에서만배포합니다.

More information

Blog

Blog Objective C http://ivis.cwnu.ac.kr/tc/dongupak twitter : @dongupak 2010. 10. 9.. Blog WJApps Blog Introduction ? OS X -. - X Code IB, Performance Tool, Simulator : Objective C API : Cocoa Touch API API.

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 2012 년자바카페 OPEN 세미나 주제 : Spring 프레임워크중요구성원리 2012. 6. 16 Today Story 1. 티어와레이어 2. 웹프로그래밍과엔터프라이즈프로그래밍 3. MVC 모델과웹개발의흐름 4. Spring 3대구성원리와디자인패턴 5대원리 5. AJAX와데이터처리 Today Story 1. 티어와레이어 2. 웹프로그래밍과엔터프라이즈프로그래밍

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

2장 변수와 프로시저 작성하기

2장  변수와 프로시저 작성하기 Chapter. RequestDispatcher 활용 요청재지정이란? RequestDispatcher 활용 요청재지정구현예제 Chapter.9 : RequestDispatcher 활용 1. 요청재지정이란? 클라이언트로부터요청받은 Servlet 프로그램이응답을하지않고다른자원에수행흐름을넘겨다른자원의처리결과를대신응답하는것또는다른자원의수행결과를포함하여응답하는것을요청재지정이라고한다.

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Spring 3의 JSR 303 지원

Spring 3의 JSR 303 지원 Spring 3 의 JSR 303(Bean Validation) 지원 - 귀찮은확인, 쉽고편하게하자!- 2010. 9. 11 KSUG 안세원 kingori@gmail.com 목차 JSR 303 (Bean Validation) 소개 JSR 303 개요 JSR 303 주요구성요소 Spring 3 의 JSR 303 지원 Spring 3 의 JSR 303 활용 Spring

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

파워포인트

파워포인트 S O F T WA R E V E R I F I CAT I O N Junit & Eclipse 및빌드환경 TEAM 1 컴퓨터공학부 201011314 김민재 201011356 이종찬 201011376 한지승 201111329 강성길 2015.03.18 I N D E X 1 Purpose & CI 2 Eclipse 3 JUnit 4 Build Environment

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

PowerPoint Presentation

PowerPoint Presentation Software Verification T4 고수창전소영이세라하지윤 Index 1 CI 2 IntelliJ IDEA 3 JUnit 4 Build Environment 5 Git 1 Continuous Integration What is CI? 소프트웨어개발에서 Build/Test 의프로세스를지속적으로수행하는것 개발자생산성향상 버그의빠른발견및해결 더빠른업데이트제공

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편

4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편 4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편리한것들 1. slf4j 를활용한 Logger 생성을편리하게해보자 2. AOP 설정 JDBC

More information

Microsoft PowerPoint 장강의노트.ppt

Microsoft PowerPoint 장강의노트.ppt 클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?

More information

Web Application을 구성하는 패턴과 Spring ROO의 사례

Web Application을 구성하는 패턴과 Spring ROO의 사례 Spring Roo 와함께하는 쾌속웹개발 정상혁, KSUG (www.ksug.org) 목차 1. Tool 2. Demo 3. Application 1. Tool 1.1 개요 1.2 Command line shell 1.3 Round-trip 1.4 익숙한도우미들 1.1 개요 Text Based RAD Tool for Java Real Object Oriented의첫글자들

More information

C++ 기본문법 정리

C++ 기본문법 정리 공학 SW 집중강좌 - 프로그래밍언어 Android Programming Chap 1. 객체지향프로그래밍 오병우 컴퓨터공학과 기술동향 프로그래밍방식의변천 기계중심의 Stored-Procedure 기계어, 어셈블리언어 구조적프로그래밍 Pascal, C 잘정의된제어구조, 코드블록, GOTO 문사용억제, 순환호출 (recursion) 과지역변수를지원하는독립형 SUB

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

<313720C0CCB8EDC8A32DB5BFC0CFC7D120B0E6B7AE20C4C1C5D7C0CCB3CA20B1B8C1B620C8AFB0E62E687770>

<313720C0CCB8EDC8A32DB5BFC0CFC7D120B0E6B7AE20C4C1C5D7C0CCB3CA20B1B8C1B620C8AFB0E62E687770> 한국산학기술학회논문지 Vol. 10, No. 6, pp. 1265-1274, 2009 동일한경량컨테이너구조환경에서스프링프레임워크 2.0 과 2.5 의개발생산성비교연구 이명호 1* 1 세명대학교전자상거래학과 A Study on Comparison of Development Productivity of Spring Framework 2.0 and 2.5 with

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Apache Ivy

Apache Ivy JBoss User Group The Agile Dependency Manager 김병곤 fharenheit@gmail.com 20100911 v1.0 소개 JBoss User Group 대표 통신사에서분산컴퓨팅기반개인화시스템구축 Process Designer ETL, Input/Output, Mining Algorithm, 통계 Apache Hadoop/Pig/HBase/Cassandra

More information

파워포인트 템플릿

파워포인트 템플릿 ibizsoftware 정호열차장 ( 표준프레임워크오픈커뮤니티커미터 ) Agenda 1. ibatis 와 Hibernate 의개념및특징 2. Hibernate 와 JPA 쿼리종류 3. ibatis 와 Hibernate 동시사용을위한 Transaction 처리방안 4. @EntityListeners 활용방법 Agenda 5. Hibernate 사용시 Dynamic

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - Chap12-OOP.ppt 객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버

More information

슬라이드 1

슬라이드 1 Continuous Integration 엔터프라이즈어플리케이션아키텍처 조영호카페PJT팀 2008.10.01 youngho.cho@nhncorp.com 목차 1. Domain Logic Pattern 2. Data Source Pattern 3. Putting It All Together 1. Domain Logic Pattern Layered Architecture

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

신림프로그래머_클린코드.key

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

More information

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx (보험TM) 소개서 2015.12 대표전화 : 070 ) 7405 1700 팩스 : 02 ) 6012 1784 홈 페이지 : http://www.itfact.co.kr 목 차 01. Framework 02. Application 03. 회사 소개 01. Framework 1) Architecture Server Framework Client Framework

More information

- 목차 - 1. 프로젝트소개 배경및목적 프로젝트기능 4 2. 관련기술 웹사이트개발 패션데이터분석알고리즘 기대효과 진행상황 참조

- 목차 - 1. 프로젝트소개 배경및목적 프로젝트기능 4 2. 관련기술 웹사이트개발 패션데이터분석알고리즘 기대효과 진행상황 참조 졸업작품중간보고서 빅데이터기반의패션의류분석 T6 200711459 이남섭 200711468 장재호 201011346 오지연 지도교수님하영국교수님 ( 인 ) - 1 - - 목차 - 1. 프로젝트소개 3 1.1 배경및목적 3 1.2 프로젝트기능 4 2. 관련기술 5 2.1 웹사이트개발 5 2.2 패션데이터분석알고리즘 11 3. 기대효과 13 4. 진행상황 13

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

OOP 소개

OOP 소개 OOP : @madvirus, : madvirus@madvirus.net : @madvirus : madvirus@madvirus.net ) ) ) 7, 3, JSP 2 ? 3 case R.id.txt_all: switch (menu_type) { case GROUP_ALL: showrecommend("month"); case GROUP_MY: type =

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

More information

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); 인터페이스적용 오리객체설계하기 ) 청둥오리, 물오리를설계하세요. 1 단계 : 필요한객체설계 class 청둥오리 { class 물오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim(); mallardduck.fly(); mallardduck.quack(); redheadduck.swim();

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 애플리케이션기초 애플리케이션컴포넌트 액티비티와태스크 Part 1 프로세스와쓰레드 컴포넌트생명주기 Part 2 2 Library Java (classes) aapk.apk (android package) identifiers Resource & Configuration aapk: android

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

제1부스프링핵심개념 스프링이제공하는기능은매우다양하지만핵심을파고들어가보면스프링의주요기능은종속객체주입 (DI: Dependency Injection) 과애스펙트지향프로그래밍 (AOP: Aspect-Oriented Programming) 으로귀결된다. 1장 스프링속으로 에서

제1부스프링핵심개념 스프링이제공하는기능은매우다양하지만핵심을파고들어가보면스프링의주요기능은종속객체주입 (DI: Dependency Injection) 과애스펙트지향프로그래밍 (AOP: Aspect-Oriented Programming) 으로귀결된다. 1장 스프링속으로 에서 제1부스프링핵심개념 스프링이제공하는기능은매우다양하지만핵심을파고들어가보면스프링의주요기능은종속객체주입 (DI: Dependency Injection) 과애스펙트지향프로그래밍 (AOP: Aspect-Oriented Programming) 으로귀결된다. 1장 스프링속으로 에서는 DI와 AOP의기본적인개념을살펴보고, 이두기능이애플리케이션객체간의결합도를줄이는데어떻게기여하는지알아본다.

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요 . 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요소로써안드로이드시스템에서는 Activities, Services, Content Providers,

More information

No Slide Title

No Slide Title 상속 이충기 명지대학교컴퓨터공학과 상속 Q: 건설회사는기존아파트와조금다르거나추가적인특징들을가진새아파트를지을때어떻게하는가? A: 2 상속 상속 (inheritance) 은클래스들을연관시키는자연스럽고계층적인방법이다. 상속은객체지향프로그래밍의가장중요한개념중의하나이다. 상속은 은 이다 라는관계 (is-a relationship) 를나타낸다. 이관계를적용하여클래스들을상하관계로연결하는것이상속이다.

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 속성 & 리스너 JSP & Servlet 2/39 Contents 학습목표 클라이언트요청에의해서블릿이실행될때에컨테이너에의해제공되는내장객체의종류와역할, 그리고접근범위특성등을알아본다. 웹컴포넌트사이의데이터전달을위한내장객체에서의속성설정과이에따른이벤트처리방법에대해알아본다. 내용 서블릿의초기화환경을표현하는 ServletConfig 객체 웹애플리케이션의실행환경을표현하는

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

KYO_SCCD.PDF

KYO_SCCD.PDF 1. Servlets. 5 1 Servlet Model. 5 1.1 Http Method : HttpServlet abstract class. 5 1.2 Http Method. 5 1.3 Parameter, Header. 5 1.4 Response 6 1.5 Redirect 6 1.6 Three Web Scopes : Request, Session, Context

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345]) 클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 9 장생성자와접근제어 이번장에서학습할내용 생성자 정적변수 정적메소드 접근제어 this 클래스간의관계 객체가생성될때초기화를담당하는생성자에대하여살펴봅니다. 생성자 생성자 (contructor): 객체가생성될때에필드에게초기값을제공하고필요한초기화절차를실행하는메소드 생성자의예 class Car { private String color; // 색상

More information