Web Services 와 EAI

Size: px
Start display at page:

Download "Web Services 와 EAI"

Transcription

1 Spring.NET 프레임워크활용가이드 Version 0.2 엔소아컨설팅대표컨설턴트전병선

2 Spring.NET 프레임워크활용가이드 애플리케이션프레임워크 Spring.NET 프레임워크 IoC 컨테이너와 DI AOP (Aspect-Oriented Programming)

3 애플리케이션프레임워크 프레임워크 (framework) 틀구조, 뼈대, 골격, 구조, 구성 애플리케이션프레임워크 (application framework) 애플리케이션을구축하고설계할수있도록도와주는틀구조 프레임워크는소프트웨어의특정한클래스에대하여재사용할수있는설계로구성된관련된클래스들의집합이다. 프레임워크는설계를추상적인클래스로분리하고그들의책임과협동관계를정의함으로써아키텍처적인가이드를제공한다. 여러분은프레임워크로부터추상적인클래스를서브클래싱하여애플리케이션에특정한서브클래스를생성함으로써특정한애플리케이션에대하여프레임워크를커스터마이징한다 - GoF(gang of four) 의 Design Patterns

4 애플리케이션프레임워크 공통라이브러리!= 프레임워크 제어의역흐름 (IoC, inversion of control) 헐리우드원칙 (Hollywood Principle) : 나를부르지마라. 내가너를부를것이다 Don t call me, I ll call you. 프레임워크코드가전체애플리케이션의처리흐름을제어하며, 특정한이벤트가발생할때다형성 (polymorphism) 을통해애플리케이션이확장한메서드를호출함으로써제어가프레임워크로부터애플리케이션으로거꾸로흐르게한다.

5 애플리케이션프레임워크 프레임워크의이점 모듈화 (modularity) 프레임워크는구현을인터페이스뒤에감추는캡슐화를통해서모듈화를강화한다. 프레임워크의모듈화는설계와구현의변경에따르는영향을국소화함으로써손쉽게소프트웨어의품질을향상시킬수있게한다 재사용성 (reusability) 프레임워크가제공하는인터페이스는여러애플리케이션에서반복적으로사용할수있는일반적인컴포넌트를정의할수있게함으로써재사용성을높여준다. 프레임워크재사용성은도메인지식과경험있는개발자들의이전의노력을활용하여, 애플리케이션의요구사항과소프트웨어설계에대한공통의솔루션을반복적으로재개발하고그에대해유효성을다시확인하는작업을피할수있게한다. 프레임워크컴포넌트를재사용하는것은소프트웨어의품질, 성능, 신뢰성, 상호운용성을향상시킬뿐만아니라, 프로그래머의생산성을상당히높여준다. 확장성 (extensibility) 프레임워크는다형성 (polymorphism) 을통해애플리케이션이프레임워크의인터페이스를확장할수있게한다. 프레임워크확장성은새로운애플리케이션서비스와특성을커스터마이징하는것을보장하는데있어서필수적인사항이며, 또한프레임워크를애플리케이션의가변성으로부터분리함으로써재사용성의이점을얻게한다.

6 애플리케이션프레임워크 프레임워크개념의진화과정

7 애플리케이션프레임워크 프레임워크레이어 (framework layer) 많음 비즈니스애플리케이션 비즈니스지식의정도 애플리케이션프레임워크도메인프레임워크레이어범용프레임워크레이어시스템프레임워크 (.NET, Java) 적음 운영체제 (Windows, Linux)

8 애플리케이션프레임워크 프레임워크레이어 (framework layer) 시스템프레임워크 (system framework) 파운데이션프레임워크 (foundation framework) 애플리케이션과애플리케이션프레임워크에프로그래밍모델을제공하는프레임워크 OMG 의 CORBA Sun MicroSystems 의 J2EE Microsoft 의.NET 프레임워크나 COM/DCOM 도메인프레임워크 (domain-specific framework) 특정한비즈니스도메인을대상으로하는프레임워크컴포넌트로구성된다 특정한비즈니스도메인의모든애플리케이션에공통된비즈니스지식을구현한다 범용프레임워크 (cross-domain framework) 비즈니스도메인에관계없이대부분의애플리케이션에서공통적으로발견될수있는컴포넌트와서비스로구성된다 Struts, Spring, Spring.NET, Microsoft 의 Enterprise Library, Application Block

9 애플리케이션프레임워크 공통스팟과핫스팟 프레임워크개발은대상애플리케이션에서공통성 (commonality) 과가변성 (v ariability) 를분석하는것에서부터시작한다 공통스팟 (common spot) 애플리케이션에서공통성이반복해서나타나는위치 공통스팟의공통적인부분은프레임워크컴포넌트안에구현한다 핫스팟 (hot spot) 애플리케이션에서가변적인위치 애플리케이션마다가변적이어서프레임워크를커스터마이징할수있는위치 핫스팟은나중에애플리케이션이커스터마이징하여채워넣을수있도록비워둔다. 각애플리케이션은프레임워크에있는핫스팟위치에고유한기능을구현하여끼워넣음으로써프레임워크가각애플리케이션마다서로다르게행위를하게한다

10 애플리케이션프레임워크 프레임워크구현기법 화이트박스프레임워크 (white-box framework) 블랙박스프레임워크 (black-box framework) 그레이박스프레임워크 (gray-box framework)

11 애플리케이션프레임워크 화이트박스프레임워크 (white-box framework) 추상클래스 (abstract class) 로구성 템플릿메서드 (template method) 후크메서드 (hook method)

12 애플리케이션프레임워크 화이트박스프레임워크 (white-box framework) 후크메서드 (hook method) 애플리케이션고유의로직을채워넣은핫스팟으로서의역할을한다 가상함수 (virtual function) 로구현한다 템플릿메서드 (template method) 템플릿메서드는특정한오퍼레이션의프로세스흐름을기술하며공통스팟으로서의역할을한다

13 애플리케이션프레임워크 화이트박스프레임워크 (white-box framework) 장점 단점 구현하기쉽다 템플릿메서드에프로세스의흐름이고정되어있어유연성이부족하다 개발자가프레임워크내부의세부사항을잘알고있어야후크메서드를구현할수있다

14 애플리케이션프레임워크 블랙박스프레임워크 (black-box framework) 인터페이스 (interface) 로구성 핫스팟 (hot spot)

15 애플리케이션프레임워크 블랙박스프레임워크 (black-box framework) 장점 단점 내부구현을알필요가없다 더큰유연성을제공할수있다 구현하기어렵다 유연성을확보하기위해서는애플리케이션이템플릿메서드를구현해야하는경우도있다

16 애플리케이션프레임워크 그레이박스프레임워크 (gray-box framework) 화이트박스프레임워크와블랙박스프레임워크의장단점을혼합

17 애플리케이션프레임워크 그레이박스프레임워크 (gray-box framework)

18 Spring.NET 프레임워크활용가이드 애플리케이션프레임워크 Spring.NET 프레임워크 IoC 컨테이너와 DI

19 Spring.NET 프레임워크 Spring.NET 객체의라이프사이클을관리하기위하여 Dependency Injection(DI) 를사용하는경량 (lightweight) 컨테이너 엔터프라이즈급.NET 애플리케이션개발을위한애플리케이션프레임워크 J2EE 애플리케이션개발을위해만든자바진영의 Spring 프레임워크를닷넷환경에맞도록포팅하되 ASP.NET, Persistence,.NET Remoting 등의닷넷기술을적극활용함

20 Spring.NET 프레임워크 Spring.NET 프레임워크의주요모듈 Web Extensions AJAX Testing NUnit Web ASP.NET Framework Services Portable Service Abstractions Core IoC Container + Base Functionality NHibernate Data DAO/TX Management AOP

21 Spring.NET 프레임워크 Spring.NET 프레임워크가제공하는기능들 DI(dependency injection) AOP(aspect-oriented programming) 데이터액세스지원 : ORM(object-relation mapping) 프레임워크인 NHibernate 지원을포함 웹프레임워크 통합테스팅 동적리플렉션 (dynamic reflection) 스레딩 (threading) 및동시성 (concurrency) 객체풀링 (object pooling) 표현식평가 (expression evaluation) 서비스 기타

22 Spring.NET 프레임워크 Spring.NET 프레임워크의장점 모듈화및이해하기쉬움 코드를테스트하기쉬움 일관성있는데이터액세스프레임워크를제공함 일관성있는구성 (configuration) 확장하기쉬움 처음부터하지않아도됨

23 IoC 컨테이너와 DI Web Extensions AJAX Testing NUnit Web ASP.NET Framework Services Portable Service Abstractions Core IoC Container + Base Functionality NHibernate Data DAO/TX Management AOP

24 IoC 컨테이너와 DI 다음코드를생각해보자 public class A { public B cb; // A 는 B 에종속된다 public A() { cb = get_b_object(...); }... } public class B {... } public class Container { public A createa() { return new A(); } } 문제점 A 는 B 인스턴스를생성하는방법에종속된다

25 IoC 컨테이너와 DI 종속성제거 public class A { protected B b1; // A 는 B 에종속된다 protected B b2; public A(B b1) { this.b1 = b1; } // dependency injection public B B2 { set { this.b2 = value; } } // dependency injection... } public class B {... } public class IoCContainer { public A createa() { B b1 = get_b_object(...); A a = new A(b1); // constructor injection B b2 = get_b_object(...); a.b2 = b2; // setter aka property injection return a; } }

26 IoC 컨테이너와 DI DI(Dependency Injection) <object id = a type= A > <set-prop ref= b > </object> <object id = b type = B /> 종속성구성 IoC 컨테이너 class A { protected B _b; public B b { set { b = value;} } } 실제구현

27 첫번째 Spring.NET 애플리케이션 프로젝트생성 HelloApp 콘솔애플리케이션

28 첫번째 Spring.NET 애플리케이션 Hello 클래스생성

29 첫번째 Spring.NET 애플리케이션 Hello 클래스구현 // 파일명 : Hello.cs using System; using System.Collections.Generic; using System.Text; namespace HelloApp { class Hello { public string sayhello(string name) { return " 안녕하세요? " + name + " 씨!"; } } }

30 첫번째 Spring.NET 애플리케이션 Spring.NET 프레임워크참조 Spring.core.dll

31 첫번째 Spring.NET 애플리케이션 애플리케이션구성파일생성

32 첫번째 Spring.NET 애플리케이션 구성설정 // 파일명 : App.config <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <sectiongroup name="spring"> <section name="context" type="spring.context.support.contexthandler, Spring.Core"/> <section name="objects" type="spring.context.support.defaultsectionhandler, Spring.Core" /> </sectiongroup> </configsections> <spring> <context> <!-- using section in App.config --> <resource uri="config://spring/objects"/> </context> <objects xmlns=" > <description> 첫번째 Spring.NET 애플리케이션 </description> <object id="myhello" type="helloapp.hello, HelloApp"> </object> </objects> </spring> </configuration>

33 첫번째 Spring.NET 애플리케이션 Hello 클래스사용 // 파일명 : Program.cs using System; using System.Collections.Generic; using System.Text; using Spring.Context; using Spring.Context.Support; namespace HelloApp { class Program { { static void Main(string[] args) { IApplicationContext ctx = ContextRegistry.GetContext(); Hello hello = (Hello)ctx.GetObject("MyHello"); string name = " 전병선 "; string result = hello.sayhello(name); Console.WriteLine(result); } } }

34 첫번째 Spring.NET 애플리케이션 HelloApp 애플리케이션실행

35 첫번째 Spring.NET 애플리케이션 구성과코드 MyHello 객체정의 // 파일명 : App.config <?xml version="1.0" encoding="utf-8"?> <configuration> namespace HelloApp <configsections> { <sectiongroup name="spring"> class Hello <section name="context" type="spring.context.support.contexthandler, { Spring.Core"/> public string sayhello(string name) <section name="objects" type="spring.context.support.defaultsectionhandler, Spring.Core" /> </sectiongroup> { </configsections> return " 안녕하세요? " + name + " 씨!"; <spring> } <context> } <!-- using section in App.config --> } <resource uri="config://spring/objects"/> </context> <objects xmlns=" > <description> 첫번째 Spring.NET 애플리케이션 </description> <object id="myhello" type="helloapp.hello, HelloApp"> </object> </objects> </spring> </configuration> // 파일명 : Hello.cs using System; using System.Collections.Generic; using System.Text;

36 첫번째 Spring.NET 애플리케이션 구성과코드 MyHello 객체사용 // 파일명 : App.config // 파일명 : Program.cs using System; using System.Collections.Generic; using System.Text; using Spring.Context; using Spring.Context.Support; <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <sectiongroup name="spring"> <section name="context" type="spring.context.support.contexthandler, namespace HelloApp { Spring.Core"/> <section name="objects" type="spring.context.support.defaultsectionhandler, class Program { { Spring.Core" /> </sectiongroup> </configsections> <spring> <context> <!-- using section in App.config --> <resource uri="config://spring/objects"/> </context> } <objects xmlns=" } > <description> 첫번째 Spring.NET 애플리케이션 } </description> <object id="myhello" type="helloapp.hello, HelloApp"> </object> </objects> </spring> </configuration> static void Main(string[] args) { IApplicationContext ctx = ContextRegistry.GetContext(); Hello hello = (Hello)ctx.GetObject("MyHello"); string name = " 전병선 "; string result = hello.sayhello(name); Console.WriteLine(result);

37 첫번째 Spring.NET 애플리케이션 IHello 인터페이스도입 Hello 클래스와 Program 클래스사이의종속성제거 // 파일명 : IHello.cs using System; using System.Collections.Generic; using System.Text; namespace HelloApp { interface IHello { string sayhello(string name); } }

38 첫번째 Spring.NET 애플리케이션 IHello 인터페이스도입 Hello 클래스와 Program 클래스코드변경 // 파일명 : Hello.cs using System; using System.Collections.Generic; using System.Text; namespace HelloApp { class Hello : IHello { public string sayhello(string name) { return " 안녕하세요? " + name + " 씨!"; } } } // 파일명 : Program.cs using System; using System.Collections.Generic; using System.Text; using Spring.Context; using Spring.Context.Support; namespace HelloApp { class Program { { static void Main(string[] args) { IApplicationContext ctx = ContextRegistry.GetContext(); IHello hello = (IHello)ctx.GetObject("MyHello"); string name = " 전병선 "; string result = hello.sayhello(name); Console.WriteLine(result); } } }

39 첫번째 Spring.NET 애플리케이션 Hello 컴포넌트도입 Hello 클래스의기능을 HelloApp 애플리케이션으로부터분리하여별도의라이브러리로구현 HelloApp 애플리케이션과 Hello 컴포넌트사이의종속성제거

40 첫번째 Spring.NET 애플리케이션 IHello 인터페이스컴포넌트 IHello 인터페이스정의 // 파일명 : IHello.cs using System; using System.Collections.Generic; using System.Text; namespace Hello { interface IHello { string sayhello(string name); } }

41 첫번째 Spring.NET 애플리케이션 Hello 구현컴포넌트 IHello 인터페이스실현 // 파일명 : Hello.cs using System; using System.Collections.Generic; using System.Text; namespace Hello { class Hello : IHello { public string sayhello(string name) { return " 안녕하세요? " + name + " 씨!"; } } }

42 첫번째 Spring.NET 애플리케이션 HelloApp 애플리케이션 IHello 인터페이스를통해 Hello 컴포넌트사용 // 파일명 : Program.cs using System; using System.Collections.Generic; using System.Text; using Spring.Context; using Spring.Context.Support; using Hello; namespace HelloApp { class Program { { static void Main(string[] args) { IApplicationContext ctx = ContextRegistry.GetContext(); IHello hello = (IHello)ctx.GetObject("MyHello"); string name = " 전병선 "; string result = hello.sayhello(name); Console.WriteLine(result); } } }

43 첫번째 Spring.NET 애플리케이션 HelloApp 애플리케이션의 Hello 컴포넌트참조 // 파일명 : App.config <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <sectiongroup name="spring"> <section name="context" type="spring.context.support.contexthandler, Spring.Core"/> <section name="objects" type="spring.context.support.defaultsectionhandler, Spring.Core" /> </sectiongroup> </configsections> <spring> <context> <!-- using section in App.config --> <resource uri="config://spring/objects"/> </context> <objects xmlns=" > <description> 첫번째 Spring.NET 애플리케이션 </description> <object id="myhello" type="hello.hello, Hello"> </object> </objects> </spring> </configuration>

44 AOP (Aspect-Oriented Programming) Web Extensions AJAX Testing NUnit Web ASP.NET Framework Services Portable Service Abstractions Core IoC Container + Base Functionality NHibernate Data DAO/TX Management AOP

45 AOP (Aspect-Oriented Programming) 시스템설계 / 개발중에늘만나게되는문제들 로깅 (Logging) 보안 / 인증 (security/authentication) 트랜잭션 (transaction) 리소스풀링 (resource pooling) 에러검사 (error checking) 정책적용 (policy enforcement) 멀티쓰레드안전관리 (multithread safety) 데이터퍼시스턴스 (data persistence) 객체지향설계에의해핵심요구사항과기능들을클래스 / 컴포넌트들에잘모듈화하였지만여전히공통적으로나타나는문제들을어떻게처리할것인가?

46 횡단관심 (Cross-cutting Concerns) AOP (Aspect-Oriented Programming) OOP 로횡단관심사들을해결할수있을까? AOP 는 OOP 를대체할수있을까? 핵심관심 (core concerns) 계좌조회계좌이체입 / 출금이자계산신용도조회 Logging Security Transaction

47 AOP (Aspect-Oriented Programming) 관점지향프로그래밍이란? 관심의분리 (Separation of Concern) 를통해문제영역 (problem domain) 을핵심관심사 (core concerns) 와횡단관심사 (cross-cutting concerns) 의독립적모듈로분해하는프로그래밍패러다임. 장점 관심의분리 (Separation of Concern) 를이끌어낸다. 비즈니스로직에대한이해도를높일수있다. 생산성을향상시킨다. 비즈니스코드와횡단관심사들간의결합을없앤다. 비즈니스코드의재사용성을높인다. 확장이용이하다.

48 AOP (Aspect-Oriented Programming) AOP 기본용어 cross-cutting concerns 보안, 로그, 인증과같이시스템에전반적으로산재된기능들 Aspect 포인트컷 ( 어디에서 ) 과어드바이스 ( 무엇을할것인지 ) 를합쳐놓은것. Joinpoint 횡단관심모듈의기능이삽입되어동작할수있는실행가능한특정위치. Advice/interceptor 각조인포인트에삽입되어져동작할수있는코드 Pointcut 어떤클래스의어느조인포인트를사용할것인지를결정하는선택기능 Weaving / 크로스컷팅 포인트컷에의해서결정된조인포인트에지정된어드바이스를삽입하는과정 참고 :

49 두번째 Spring.NET 애플리케이션 프로젝트생성 AOPExample1 콘솔애플리케이션

50 두번째 Spring.NET 애플리케이션 참조추가 Spring.Aop.dll

51 두번째 Spring.NET 애플리케이션 핵심관심사를수행하는컴포넌트를위한인터페이스생성 ICommand.cs

52 두번째 Spring.NET 애플리케이션 핵심관심사를수행하는컴포넌트를위한클래스생성 ServiceCommand.cs

53 두번째 Spring.NET 애플리케이션 횡단관심사를처리하는 Advice 생성 (around advice) ConsoleLoggingAroudAdvice.cs

54 두번째 Spring.NET 애플리케이션 Weaving 작업

55 두번째 Spring.NET 애플리케이션 실행결과

56 두번째 Spring.NET 애플리케이션 Configuration 이용하기 (App.config 파일 )

57 두번째 Spring.NET 애플리케이션 Configuration 이용하기 참조추가 : Spring.Core.dll

58 두번째 Spring.NET 애플리케이션 Configuration 이용하기 ProxyFactory 대신 context 사용하기

59 두번째 Spring.NET 애플리케이션 실행결과

60 두번째 Spring.NET 애플리케이션 Configuration 분석 1. 적용할 Advice 를 ConsoleLoggingAroundAdvice 라는이름의객체로등록. 2. Advice 를적용할대상은 ServiceCommand 타입이며 myserviceobjecttarget 이라는객체이름으로 myservicecommand 객체에등록된다. 3. 등록된 Advice 는 myservicecommand 객체의타겟에대하여 interceptor 로서동작한다.

61 두번째 Spring.NET 애플리케이션 Configuration 분석

62 두번째 Spring.NET 애플리케이션 특정메서드에만 Advice를적용하려면? 특정문자열로시작하는메서드들에만 Advice를적용하려면? 예 ) LogXXX(), LogYYY(), LogZZZ() 메서드에서는로그를남기고싶다. IPointcut 인터페이스활용

63 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 1. C# Console Application 생성 2. AOPExample1 프로젝트에서파일복사 ConsoleLoggingAroundAdvice.cs ICommand.cs ServiceComponent.cs 3. 참조추가 Spring.Aop.dll Spring.Core.dll

64 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 ICommand 인터페이스에메서드추가

65 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 ServiceComponent 클래스수정

66 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 ProxyFactory 에 Advice 적용하기 : Do 로시작하는메서드에만..

67 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 실행결과 Execute() 메서드 : Advice 적용되지않았음 DoExecute() 메서드 : Advice 가적용되었음.

68 두번째 Spring.NET 애플리케이션 AOPExample2 프로젝트 구성설정이용하여실행

69 To be continued Web Extensions AJAX Testing NUnit Web ASP.NET Framework Services Portable Service Abstractions Core IoC Container + Base Functionality NHibernate Data DAO/TX Management AOP

70 감사합니다! 전병선 ( 田炳善 ) 엔소아컨설팅그룹대표이사 IT 아키텍트 / 컨설턴트 bsjun@ensoa.co.kr

JAVA PROGRAMMING 실습 08.다형성

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

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

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

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

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

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

어댑터뷰

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

More information

thesis

thesis CORBA TMN Surveillance System DPNM Lab, GSIT, POSTECH Email: mnd@postech.ac.kr Contents Motivation & Goal Related Work CORBA TMN Surveillance System Implementation Conclusion & Future Work 2 Motivation

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

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

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

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

PowerPoint Presentation

PowerPoint Presentation Package Class 3 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

제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

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

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

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

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

유니티 변수-함수.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

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

Microsoft PowerPoint 장강의노트.ppt

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

More information

01(767-774) SAV12-04.hwp

01(767-774) SAV12-04.hwp XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 767 XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 (Improving Aspect Oriented Programming with Aspect Specification using XML) 김 은 선 이 병 정 이 재 호 (Eunsun Kim) (Byungjeong Lee) (Jaeho Lee) 요

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

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

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

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

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

쉽게 풀어쓴 C 프로그래밍

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

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

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

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

More information

C++ 기본문법 정리

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

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

슬라이드 1

슬라이드 1 Visual 2008 과신속한애플리케이션 개발 Smart Client 정병찬 ( 주 ) 프리엠컨설팅개발팀장 johnharu@solutionbuilder.co.kr http://www.solutionbuilder.co.kr 목차 Visual Studio 2008 소개 닷넷프레임워크 3.5 소개 Language Integrated Query (LINQ) 어플리케이션개발홖경

More information

JVM 메모리구조

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

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

제목

제목 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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

ThisJava ..

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

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

C++ Programming

C++ Programming C++ Programming 상속과다형성 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 상속의이해 상속과다형성 다중상속 2 상속과다형성 객체의이해 상속클래스의객체의생성및소멸 상속의조건 상속과다형성 다중상속 3 상속의이해 상속 (Inheritance) 클래스에구현된모든특성 ( 멤버변수와멤버함수 )

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

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

Microsoft PowerPoint - 2강

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

More information

Chap7.PDF

Chap7.PDF Chapter 7 The SUN Intranet Data Warehouse: Architecture and Tools All rights reserved 1 Intranet Data Warehouse : Distributed Networking Computing Peer-to-peer Peer-to-peer:,. C/S Microsoft ActiveX DCOM(Distributed

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

PowerPoint 프레젠테이션

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

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

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

歯이시홍).PDF

歯이시홍).PDF cwseo@netsgo.com Si-Hong Lee duckling@sktelecom.com SK Telecom Platform - 1 - 1. Digital AMPS CDMA (IS-95 A/B) CDMA (cdma2000-1x) IMT-2000 (IS-95 C) ( ) ( ) ( ) ( ) - 2 - 2. QoS Market QoS Coverage C/D

More information

consulting

consulting CONSULTING 전략 컨설팅 클라우드 마이그레이션 애플리케이션 마이그레이션 데이터 마이그레이션 HELPING YOU ADOPT CLOUD. 클라우드로 가기로 결정했다면 누구와 함께 갈지를 선택해야 합니다. 처음부터 끝까지 믿을만한 파트너를 찾는다면 베스핀글로벌이 정답입니다. 전략 컨설팅 다양한 클라우드 공급자가 존재하고, 클라우드 공급자마다 다른 장단점을

More information

PowerPoint Presentation

PowerPoint Presentation 데이터처리프로그래밍 Data Processing Programming 08 객체와클래스 목차 1. 객체와클래스 2. 인스턴스변수, 클래스변수 3. 클래스매직메소드 4. 클래스의상속 데이터처리프로그래밍 (Data Processing Programming) - 08 객체와클래스 3 1. 객체와클래스 객체 Object 객체란존재하는모든것들을의미 현실세계는객체로이루어져있고,

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 손시운 ssw5176@kangwon.ac.kr 실제세계는객체로이루어진다. 2 객체와메시지 3 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 4 객체 5 객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작

More information

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드] Overview C# 프로그램기초 의구성요소 C# 프로그램기초 C# 콘솔프로그램컴파일과링크및실행 321190 2011년가을학기 9/6/2011 박경신 2 통합개발환경 메뉴및툴바 솔루션탐색기 편집창 속성창 도구상자 4 The Editor VB/C/C++/C# 코드를작성하고수정하기위한환경 The Compiler 소스코드를오브젝트코드로변환 The Linker 수행에필요한모듈들을결합

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

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

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

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

초보자를 위한 자바 2 21일 완성 - 최신개정판

초보자를 위한 자바 2 21일 완성 - 최신개정판 .,,.,. 7. Sun Microsystems.,,. Sun Bill Joy.. 15... ( ), ( )... 4600. .,,,,,., 5 Java 2 1.4. C++, Perl, Visual Basic, Delphi, Microsoft C#. WebGain Visual Cafe, Borland JBuilder, Sun ONE Studio., Sun Java

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

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

쉽게 풀어쓴 C 프로그래밍

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

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

JavaGeneralProgramming.PDF

JavaGeneralProgramming.PDF , Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming

More information

No Slide Title

No Slide Title 클래스와객체 이충기 명지대학교컴퓨터공학과 들어가며 Q: 축구게임에서먼저공격하는팀을정하기위해동전을던진다. 우리는동전을던질때앞면이나오느냐아니면뒷면이나오느냐에만관심이있다. 또한동전을가지고해야할일은동전을던지는것과동전을던진후결과를알면된다. 이동전을효과적으로나타낼수있는방법을기술하라. A: 2 클래스와객체 객체 (object): 우리주변의어떤대상의모델이다. - 예 : 학생,

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

Microsoft PowerPoint App Fundamentals[Part1].pptx

Microsoft PowerPoint App Fundamentals[Part1].pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 2 HangulKeyboard.apkapk 파일을다운로드 안드로이드 SDK 의 tools 경로아래에복사한후, 도스상에서다음과같이 adb 명령어수행 adb install HangulKeyboard.apk 이클립스에서에뮬레이터를구동 에뮬레이터메인화면에서다음과같이이동 메뉴버튼 설정 언어및키보드

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

[Brochure] KOR_TunA

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

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

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

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추 Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추가함으로서 Class loading 을한다. 이에클래스 loader 의로딩메커니즘을이해하고

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

Microsoft PowerPoint - additional08.ppt [호환 모드]

Microsoft PowerPoint - additional08.ppt [호환 모드] 8. 상속과다형성 (polymorphism) 상속된객체와포인터 / 참조자의관계 정적바인딩과동적바인딩 virtual 소멸자 Jong Hyuk Park 상속의조건 public 상속은 is-a 관계가성립되도록하자. 일반화 ParttimeStd 구체화 2 상속의조건 잘못된상속의예 현실세계와완전히동떨어진모델이형성됨 3 상속의조건 HAS-A( 소유 ) 관계에의한상속!

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

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

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

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

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

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx CrackMe 15.exe (in Simples) 문제풀이 동명대학교정보보호동아리 THINK www.mainthink.net 강동현 Blog: johnghb.tistory.com e-mail: cari2052@gmail.com 1 목차 : 1. 문제설명및기본분석 --------------------------- P. 03 2 상세분석 ---------------------------

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

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

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

More information

슬라이드 1

슬라이드 1 4 장클래스다이어그램 구성요소 객체와클래스 클래스추출 한빛미디어 ( 주 ) 학습목표 클래스의개념과구성요소를이해한다. 클래스추출과관계를학습한다. 관계를코드로이해한다. 2 학습목표 클래스의구성요소 클래스이름 (class name) 공통의속성, 메서드 ( 오퍼레이션 ), 관계, 의미를공유하는객체들의집합에대한기술이다. 속성 (attributes) 클래스의구조적특성에이름을붙인것으로구조적특성에해당하는인스턴스가보유할수있는값의범위를기술한다.

More information

thesis

thesis CORBA TMN 1 2 CORBA, CORBA CORBA TMN CORBA 3 - IN Intelligent Network (Call) SMS : Service Management System SCP : Service Control Point SSP : Service Switching Point SCP SMS CMIP Signaling System No.7

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

Microsoft PowerPoint - 04_OOConcepts(2010).pptx

Microsoft PowerPoint - 04_OOConcepts(2010).pptx LECTURE 4 객체지향개념 Object-Oriented Oi Oriented dc Concepts 내가가진도구가망치뿐이라면모든문제가다못으로보인다. 최은만, CSE 4039 소프트웨어공학 Old Way 프로그램은데이터와함수로구성 함수는데이터를조작 프로그램을조직화하기위해 기능적분할 자료흐름도 모듈 Main program global data call call

More information