Microsoft PowerPoint - Strategy Pattern

Size: px
Start display at page:

Download "Microsoft PowerPoint - Strategy Pattern"

Transcription

1 Strategy Pattern 동일목적알고리즘의선택적용문제 Service Innovation

2 Key Features of Patterns Item Name Intent Problem Solution Participants and collaborators Consequences implementation Generic structure Description All patterns have a unique name that identifies them. The purpose of the pattern. The problem that the pattern is tying to solve. How the pattern provides a solution to the problem in the context in which it shows up. The entities involved in the pattern. The consequences of using the pattern. How the pattern can be implemented. Note: implementations are just concrete manifestations of the pattern and should not be constructed as the pattern itself. A standard diagram that shows a typical structure for the pattern. 2

3 Structural Pattern Strategy Pattern Structural Pattern are concerned with how classes and objects are composed to form larger structure. Structural class patterns (Static fixed at compile time) use inheritance to compose interfaces or implementation. Structural object patterns (dynamic can be changed at runtime) Rather than composing interfaces or implementations, these describe ways to compose objects to realize new functionality. The added flexibility of object composition comes from the ability to change the composition at run-time, which is impossible with static class composition. Strategy Pattern Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it. S c o p e Class (Static) Object (Dynamic) Creation Factory Method Abstract Factory Builder Prototype Singleton Adapter (Class) Adapter (object) Bridge Composite Decorator Façade flyweight Proxy Objective Structure Behavior Interpreter Template Method Chain of Responsibility Command, Iterator, Mediator, Memento, Observer State Strategy Visitor 3

4 SimUDuck 애플리케이션 SimUDuck 오리연못시뮬레이션게임 객체지향기법으로 Duck 이라는수퍼클래스를만들고, 그클래스를확장하여다른모든종류의오리를구현 모든오리들이꽦꽥소리를낼수있고 [quark()] 헤엄칠수있기때문에 [swim()] 수퍼클래스에서간단한코드를구현. Duck quack() swim() display() // // 기타기타오리관련메소드 모든오리모양이다르기때문에 display() 메소드는추상메소드임 각형식별로자기모양을화면에보여주기위한 display() 메소드를별도로구현함. MallardDuck display() {{ // // 적당한모양을표시표시 }} RedheadDuck display() {{ // // 적당한모양을표시표시 }} 다른수많은유형의오리 4

5 변경 변경사항 오리들이날아다닐수있도록수정 Duck 클래스에 fly() 메소드만추가하면모든오리들이간단하게상속받아날수있다! 모든서브클레스에서 fly() 를상속받음. Duck quack() swim() display() fly() // // 기타오리관련메소드 MallardDuck display() {{ // // 적당한모양을표시표시 }} RedheadDuck display() {{ // // 적당한모양을표시표시 }} 기타 Duck 서브클래스 5

6 원치않는결과 (Unwanted side effect) 코드의한부분만을바꿈으로해서프로그램전체에부작용 ( 날아다니는고무오리 ) 이발생 전코드를알던지 ( 불가능!), 디자인을바꾸던지 Duck quack() swim() display() fly() // // 기타기타오리관련메소드 수퍼클래스에 fly() 메소드를넣은결과, 날아다니면안될오리들을포함한모든오리들한테날아다니는기능이추가되었음. MallardDuck display() {{ // // 적당한모양을표시표시 }} RedheadDuck display() {{ // // 적당한모양을표시표시 }} RubberDuck quack() {{ // // 삑삑삑삑소리를내도록 // // 오버라이드 }} display() {{ // // 적당한모양을표시표시 }} 6

7 상속이모든것의해결책은아니다! 상속이모든것의해결책은아니다! 서브클래스에서코드가중복된다 실행시에특징을바꾸기힘들다 모든오리의행동을알기힘들다 코드를변경했을때다른오리들한테원치않은영향을끼칠수있다. DecoyDuck quack() { // // 아무아무것도것도 // // 하지하지않도록 // // 오버오버라이드 }} display() {// {// 가짜오리 }} fly() {{ // // 아무아무것도것도 // // 하지하지않도록 // // 오버라이드 }} Duck quack() swim() display() fly() MallardDuck display() {{ // // 적당한모양을표시표시 }} // // 기타기타오리관련메소드 RubberDuck quack() {{ // // 삑삑삑삑 }} display() {// 고무오리 }} fly() {{ // // 아무아무것도것도 // // 하지하지않도록 // // 오버라이드 }} 7

8 인터페이스는? 모든서브클래스가날거나꽥꽥거리는기능이있어야하는것은아니므로상속을사용하는것은올바른해결책이아님. 서브클래스에서 flayble, Quackable을구현하도록함으로써일부문제점은해결, 그러나코드재사용이불가하여코드관리의또다른문제점발생. 나중에고쳐야할때도기존코드에미치는영향은최소한으로줄이면서작업을할수있는방법이필요함. 8

9 인터페이스란 Interface 는클래스와유사한 reference type 이나 constants, method signatures, 및 nested types 만포함할수있으며 method bodies 가없음. Interfaces 는인스턴스화될수없으며클래스에의해구현 (implemented) 되거나다른인터페이스에의해확장 (extended) 될수만있음. 9

10 달라지는부분을 캡슐화 하기 상속 서브클래스마다행동이바뀔수있는것을상속하면모든서브클래스에서한행동을사용하게됨. 인터페이스 인터페이스에서는구현된코드가전혀들어가지않기에코드재사용을할수없음. 즉, 한행동을바꿀때마다그행동이정의되어있는서로다른서브클래스들을전부찾아서코드를일일이고쳐야하고, 그과정에서새로운버그가생길가능성이있음. 디자인원칙애플리케이션에서달라지는부분을찾아내고,, 달라지지않는부분으로부터분리시킨다.. 바뀌는부분은따로뽑아서캡슐화함. 그렇게하면나중에바뀌지않는부분에는영향을미치지않은채로그부분만고치거나확장할수있음. 모든패턴은 시스템의일부분을다른부분과독립적으로변화시킬수있는방법 을제공함. 10

11 바뀌는부분과그렇지않은부분분리하기 fly() 와 quack() 은여차클래스에서오리마다달라지는부분임. 이러한행동을 Duck 클래스로부터갈래내기위해서그두메소드를모두 Duck 클래스로부터끄집어내서각행동을나타낼클래스집합을새로만듦 여차클래스는여전히모든오리들의수퍼클래스이지만나는행동과꽥꽥거리는행동을끄집어내서다른클래스구조에집어넣음. 이제나는것과꽥꽥거리는것에대해별도의클래스의집합이생겼음. 여기에는다양한메소드구현이들어감. 11

12 인터페이스에맞춰서프로그래밍하자 실제실행시에쓰이는객체가코드에의해고정되지않도록, 어떤상위행식 (super class) 에맞춰서프로그래밍함으로써다형성을활용함. 구현에맞추는프로그래밍 Dog d = new Dog(); d.bark 인터페이스 / 상위형식에맞추는프로그래밍 Animal animal = new Dog(); animal.makesound(); 추상상위형식 ( 추상클래스또는인터페이스 ) 상위형식의인스턴스를만드는과정을직접코드로만드는대신구체적으로구현된객체를실행시에대입 a = getanimal(); a.makesound(); 구상클래스 12

13 오리의행동디자인 다른형식의객체에서도나는행동과꽥꽥거리는행동을재사용할수있음. 기존의행동클래스를수정하거나날아다니는행동을사용하는 Duck 클래스를전혀건드리지않고도새로운행동을추가할수있음. 상속단점제거, 재사용제고. 날수있는클래스에서는무조건 flybehavior 인터페이스를구현함. 날수있는클래스를새로만들떄는무조건 fly 메소드를구현함. 디자인원칙구현이아닌인터페이스에맞춰서프로그래밍한다.. 꽥꽥거리는것과관련된행동에대해서도마찬가지. 반드시구현해햐만하는 quack() 메소드가들어있는인터페이스가있음. 날개가달린오리들의나는동작을구현 날수없는오리를구현 꽥꽥거리는오리 삑삑거리는오리 아무소리도못내는오리 13

14 Duck 행동통합하기 생성자 인터페이스형식의인스턴스변수 인스턴스변수에는실행시에특정행동에대한레퍼런스가저장됨. 꽥꽥거리는행동을직접처리하는대신, quackbehavior 로참조되는객체에그행동을위임 행동변수는행동인터페이스형식으로선언됨. fly() 와 quack() 대신 14

15 인터페이스와행동구현클래스 행동인터페이스형식의레퍼런스변수 행동클래스에위임 이인터페이스는모든나는행동에대한클래스에서구현 실제로날수있는오리들의나는행동을구현한클래스 15

16 동적으로행동지정 Setter method 실행시세터메소드를호출하여행동을지정 생성자 생성될때나는행동은 FlyNoWay 로우는행동은 Quack 로지정 16

17 테스트클래스 / 드라이버 생성자 quackbehavior 및 flybehavior 는 Duck 클래스에서상속받은인스탄스변수 생성자 ModelDuck 이생성될때 flybehavior 는 FlyNoWay 인스탄스로생성 17

18 캡슐화된행동의큰그림 오리들은모두 Duck 을확장해서만들고, 꽥꽥소리를내는행동은 QuackBehavior 를, 나는행동은 FlyBehavior 를구현해서만듬. 각행동의집합을알고리즘군으로생각함. 이런행동 알고리즘 은바뀔수있음. 18

19 오리클래스는행동을상속받는대신, 올바른행동객체로구성된행동을부여받음. 디자인원칙상속보다는구성 (composition) 을활용한다.. A 는 B 이다 보다 A 에는 B 가있다 가나을수있음. 구성 (composition) 을이용하여시스템을만들면 유연성을크게향상시킴. 알고리즘군을별도의클래스집합으로캡슐화함. 구성요소로사용하는객체에서올바른행동인터페이스를구현하기만하면실행시에행동을바꿀수도있음. 19

20 Strategy Pattern 알고리즘군을정의하고각각을캡슐화하여교환해서사용할수있도록함. 스트레티지를활용하면알고리즘을사용하는클라이언트는독립적으로알고리즘을변경할수있음. 의도 다양한알고리즘이존재하면이들각각을하나의클래스로캡슐화하여알고리즘의대체가가능하도록함. 스트레티지패턴을이용하면클라이언트와독립적인다양한알고리즘으로변형할수있음. 알고리즘을바꾸더라도클라이언트는아무런변경을할필요가없음. 20

21 전문용어의위력 서로알고있는패턴용어는정말막강함. 패턴을이용하면간단한단어로많은것을얘기할수있음. 패턴수준에서이야기를하면 디자인 에더오랫동안집중할수있음. 전문용어를사용하면개발팀의능력을극대화할수있음. 전문용어는신참개발자들에게훌륭한자극제가됨. 21

22 디자인패턴사용방법 디자인패턴이바로코드로들어가는것은아님. 디자인패턴은우선머리속 ( 완전히익혀야 ) 에들어감. 새로디자인할때, 또는이전의코드가유연성이전혀없는스파게티코드라는것을알아내고새로코딩해야하는경우에패턴을적용가능 If you have only a hammer, whole world looks like a nail. 개발자의두뇌 여러가지패턴디자인패턴의적용으로새로만들어진, 향상된코드 22

23 디자인도구상자안에들어가야할도구들 객체지향의기초 추상화캡슐화다형성상속 객체지향의원칙바뀌는부분은캡슐화한다상속보다는구성을활용한다구현이아닌인터페이스에맞춰서프로그래밍한다.. 객체지향의패턴 Strategy Pattern 알고리즘군을정의하고 각각을캡슐화하여바꿔쓸수있게만듬.. 스트레티지패턴을이용하면알고리즘을활용하는클라이언트와독립적으로알고리즘을변경할수있음.. 23

24 핵심정리 객체지향기초지식만가지고는훌륭한객체지향디자이너가될수없음 훌륭한객체지향디자인이라면재사용성, 확장성, 관리의용이성을갖춰야함. 패턴은훌륭한객체지향디자인품질을갖추고있는시스템을만드는방법을제공해줌. 패턴은검증받은객체지향경험의산물임. 패턴이코드를바로제공해주는것은아닙니다. 디자인문제에대한일반적인해법을제공함. 특정애플리케이션에패턴을적용하는것은여러분이해야할일임. 패턴은발명되는것이아니라발견되는것임. 대부분의패턴과원칙은소프트웨어의변경문제와관련됨. 대부분의패턴은시스템의일부분을나머지부분과무관하게변경하는방법을제공함. 많은경우에시스템에서바뀌는부분을골라내서캡슐화시켜야함. 패턴은다른개발자들과의의사소통의가치를극대화시킬수있는전문용어역할을합니다. 24

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

<C0DAB7E120C7D5BABB2E687770>

<C0DAB7E120C7D5BABB2E687770> 제5회 SW공학 Technical 세미나 패턴 저자와 함께하는 패턴이야기 세부 프로그램 시 간 내 용 강사진 13:30 ~ 14:00 등 록 14:00 ~ 14:05 인사말 14:05 ~ 15:00 15:00 ~ 15:30 15:30 ~ 17:00 o 미워도 다시 보는 패턴이야기 - SW 설계의 패턴과 다양한 패턴의 주제 소개 - 패턴의 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

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

Microsoft PowerPoint - Gof - What is Design Patterns - Gof Design Pattterns

Microsoft PowerPoint - Gof - What is Design Patterns - Gof Design Pattterns What is Design Patterns? - Gof Design Patterns - Service Innovation Design Principles Service Innovation Reality of SW world comparing with HW World How can we implement complex, abstract, and dynamic

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

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

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

More information

I. GoF 디자인패턴 의개요 I. GoF 디자인패턴의개요 가. 개념 소프트웨어개발시자주발생되는문제해결을위한솔루션 ( 재사용 ) 특정상황에서일반적설계문제해결을위해상호교류하는수정가능한객체와클래스들에대한설명 객체지향언어에디자인패턴을접목한 Erich Gamma, Richar

I. GoF 디자인패턴 의개요 I. GoF 디자인패턴의개요 가. 개념 소프트웨어개발시자주발생되는문제해결을위한솔루션 ( 재사용 ) 특정상황에서일반적설계문제해결을위해상호교류하는수정가능한객체와클래스들에대한설명 객체지향언어에디자인패턴을접목한 Erich Gamma, Richar Niceit.tistory.com GoF 디자인패턴 온달의 IT 세상 REVIEW 재사용및품질향상을위한위한 GoF 디자인패턴 핵심키워드 - 디자인패턴유형. 생성패턴 / 구조패턴 / 행위패턴. 재사용성 / 모듈성 / 생산성극대화 REVIEW 목차 I. GoF의디자인패턴의개요 II. GoF의디자인패턴의유형 III. GoF의디자인패턴세부설명 IV. 디자인패턴의유용성

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

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

PowerPoint 프레젠테이션

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

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

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

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 프로그래밍

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

More information

Microsoft PowerPoint - 2강

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

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

제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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과

소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 5: 객체지향개념 최은만동국대학교컴퓨터공학과 왜객체지향인가? l 절차적패러다임 vs. 객체지향패러다임 l 뭐가다르지? 2 C 언어 l 프로그램은데이터와함수로구성 l 함수는데이터를조작 l 프로그램을조직화하기위해 l 기능적분할 l 자료흐름도 l 모듈 Main program global data call call call return return

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

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

PowerPoint Presentation

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

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

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

Microsoft PowerPoint 장강의노트.ppt

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

More information

C++ 기본문법 정리

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 상속 배효철 th1g@nate.com 1 목차 상속개념 클래스상속 부모생성자호출 메소드재정의 final 클래스와 final 메소드 protected 접근제한자 타입변환과다형성 추상클래스 2 상속개념 상속 (Inheritance) 이란? 현실세계 : 부모가자식에게물려주는행위 부모가자식을선택해서물려줌 객체지향프로그램 : 자식 ( 하위, 파생 ) 클래스가부모 (

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

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - Lect04.pptx OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스

More information

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

(Microsoft PowerPoint - java2-lecture3.ppt [\310\243\310\257 \270\360\265\345]) Class Class, Collections 514770-1 2017 년봄학기 3/22/2017 박경신 클래스 (Class) 객체의속성과행위선언 객체의설계도혹은틀 객체 (Object) 클래스의틀로찍어낸실체 메모리공간을갖는구체적인실체 클래스를구체화한객체를인스턴스 (instance) 라고부름 객체와인스턴스는같은뜻으로사용 클래스구조 클래스접근권한, public 다른클래스들에서이클래스를사용하거나접근할수있음을선언

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

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

Microsoft PowerPoint - java2 [호환 모드]

Microsoft PowerPoint - java2 [호환 모드] 10 장객체- 지향프로그래밍 II 창병모 1 상속 창병모 2 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스

More information

C++ Programming

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

More information

Microsoft PowerPoint - chap11

Microsoft PowerPoint - chap11 10 장객체 - 지향프로그래밍 II 상속 상속 (Inheritance) 상속이란무엇인가? 기존의클래스로부터새로운클래스를유도하는것 자식클래스는부모클래스의메쏘드와데이터를상속 자식클래스에새로운변수나메쏘드를추가할수있다. 기존클래스 부모클래스 (parent class), 수퍼클래스 (superclass), 기반클래스 (base class) 유도클래스 자식클래스 (child

More information

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå 기초통계프로그래밍 클래스, 객체, 변수, 메소드 hmkang@hallym.ac.kr 금융정보통계학과 강희모 ( 금융정보통계학과 ) 기초통계프로그래밍 1 / 26 자바구성파일 소스파일 소스파일 : 사용자가직접에디터에입력하는파일로자바프로그램언어가제공하는형식으로제작 소스파일의확장자는.java 임 컴파일 : javac 명령어를이용하여프로그래머가만든소스파일을컴파일하여실행파일.class

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

Something that can be seen, touched or otherwise sensed

Something that can be seen, touched or otherwise sensed Something that can be seen, touched or otherwise sensed Things about an object Weight Height Material Things an object does Pen writes Book stores words Water have Fresh water Rivers Oceans have

More information

No Slide Title

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

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

JAVA PROGRAMMING 실습 07. 상속

JAVA PROGRAMMING 실습 07. 상속 상속 부모클래스에정의된필드와메소드를자식클래스가물려받는것 슈퍼클래스 (superclass) 특성을물려주는상위클래스 서브클래스 (subclass) 특성을물려받는하위클래스 슈퍼클래스에자신만의특성 ( 필드, 메소드 ) 추가 슈퍼클래스의특성 ( 메소드 ) 을수정 = 오버라이딩구체화 class Phone 전화걸기전화받기 class MobilePhone 전화걸기전화받기무선기지국연결배터리충전하기

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

Fig. 1. Some examples of the sudoku game. 지향적으로설계되지않아서 와같이객체지향언어를사용하는경우오픈되어있는기존의소스를재사용하는데편리하지않다 기반으로구현된스도쿠앱도많지만 소스가오픈된경우가매우드물며 스도쿠게임서객체지향개념의근간이되는클래스의캡

Fig. 1. Some examples of the sudoku game. 지향적으로설계되지않아서 와같이객체지향언어를사용하는경우오픈되어있는기존의소스를재사용하는데편리하지않다 기반으로구현된스도쿠앱도많지만 소스가오픈된경우가매우드물며 스도쿠게임서객체지향개념의근간이되는클래스의캡 김태석, 김종수 Tai Suk Kim, Jong Soo Kim 1. 서론워드프로세스 이미지저작도구와같이특정한작업에필요한데이터를메모리로읽어들여서편집하는것을주요기능으로하는소프트웨어는잘못된작업을바로취소할수있는 기능의지원이필수적이라할수있다 이러한 기능의구현은텍스트데이터를기반으로하는프로그램뿐만아니라 그래픽프로그램인경우더욱중요한기능이며 해당기능의구현이소프트웨어사용자가비생산적인실수를하더라도전체작업스케줄에지장없이안정적으로작업할수있는여건을마련해준다

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

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

설계란 무엇인가?

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

More information

<C7D1B9CEC1B7BEEEB9AEC7D03631C1FD28C3D6C1BE292E687770>

<C7D1B9CEC1B7BEEEB9AEC7D03631C1FD28C3D6C1BE292E687770> 설화에 나타난 사회구조와 그 의미 23) 박유미 * 차례 Ⅰ. 문제제기 Ⅱ. 서사 내부의 사회구조 Ⅲ. 사회문제의 해결방식과 그 의미 Ⅳ. 설화와 후대전승과의 상관관계 Ⅴ. 결론 국문초록 삼국유사 의 조에는 왕거인 이야기와 거타지 이야기가 하나의 설화에 묶여 전하고 있는데, 두 이야기는 해결구조에서 차이를

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

슬라이드 1 4 장. 객체의행동 학습목표 1. 인스턴스변수와메소드의상호관계에대해알아봅니다. 2. 매개변수와리턴값에대해알아봅니다. 3. 객체의동치에대해알아봅니다. 객체의행동 이렇게하면상태가확바뀌겠죠? 상태 인스턴스변수행동 메소드 객체의상태와행동 Song 인스턴스변수 ( 상태 ) 메소드 ( 행동 ) title artist settitle() setartist() play()

More information

JVM 메모리구조

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

More information

슬라이드 1

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

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

#Ȳ¿ë¼®

#Ȳ¿ë¼® http://www.kbc.go.kr/ A B yk u δ = 2u k 1 = yk u = 0. 659 2nu k = 1 k k 1 n yk k Abstract Web Repertoire and Concentration Rate : Analysing Web Traffic Data Yong - Suk Hwang (Research

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

Microsoft PowerPoint - 11_DesignPatterns(2010).ppt [호환 모드]

Microsoft PowerPoint - 11_DesignPatterns(2010).ppt [호환 모드] LECTURE 11 디자인패턴 최은만, CSE 4039 소프트웨어공학 설계작업에대한도전 소프트웨어설계는어려운일 문제를잘분할하고 유연하고잘모듈화된우아한디자인이되어야함 설계는시행착오 (trial and error) 의결과 성공적인설계가존재 두설계가똑같은일은없음 반복되는특성 최은만, CSE 4039 소프트웨어공학 2 디자인패턴 디자인패턴은공통된소프트웨어문제에오래동안사용되어검증된솔루션

More information

PowerPoint Template

PowerPoint Template 9. 객체지향프로그래밍 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 9.1 개요 9.2 객체지향프로그래밍언어 9.3 추상자료형 9.4 상속 9.5 동적바인딩 9.1 객체지향의개념 (1) 3 객체지향의등장배경 소프트웨어와하드웨어의발전불균형 소프트웨어모듈의재사용과독립성을강조 객체 (object) 란? 우리가다루는모든사물을일컫는말 예 ) 하나의점, 사각형,

More information

슬라이드 1

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

More information

슬라이드 1

슬라이드 1 8 장. 심각한다형성 학습목표 추상 과 구상 의차이점에대해알아봅니다. Object 클래스에대해알아봅니다. 다형성에대해알아봅니다. 캐스팅에대해알아봅니다. 인터페이스에대해알아봅니다. 인터페이스와추상클래스 Animal picture RUNNING HEADER, 14 PT., ALL CAPS, Line Spacing=1 line food hunger boundaries

More information

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 객체지향프로그래밍 (OOP: object-oriented programming) 은우리가살고있는실제세계가객체 (object) 들로구성되어있는것과비슷하게, 소프트웨어도객체로구성하는방법이다. 객체는상태와동작을가지고있다. 객체의상태 (state) 는객체의속성이다. 객체의동작 (behavior) 은객체가취할수있는동작 ( 기능 ) 이다. 객체에대한설계도를클래스 (class)

More information

<4D6963726F736F667420506F776572506F696E74202D20554D4CB0FA205550B1E2B9DD20B0B4C3BCC1F6C7E2C0FB20B0B3B9DF20C8AFB0E6C7CFBFA1BCADC0C720B5F0C0DAC0CE20C6D0C5CFC0C720C8B0BFEB2E707074>

<4D6963726F736F667420506F776572506F696E74202D20554D4CB0FA205550B1E2B9DD20B0B4C3BCC1F6C7E2C0FB20B0B3B9DF20C8AFB0E6C7CFBFA1BCADC0C720B5F0C0DAC0CE20C6D0C5CFC0C720C8B0BFEB2E707074> UML과 UP 기반 객체지향적 개발 환경하에서의 디자인 패턴의 활용 천혜성 이현우 김영일 김종철 고석하 comets2000@hanmail.net donjamon72@nate.com misoh001@hanmail.net jjong9999@hanmail.net shkoh@cbnu.ac.kr 충북대학교 경영정보학과 043) 272-4034 283 목차 I. 연구의

More information

001지식백서_4도

001지식백서_4도 White Paper on Knowledge Service Industry Message Message Contents Contents Contents Contents Chapter 1 Part 1. Part 2. Part 3. Chapter

More information

슬라이드 1

슬라이드 1 7 장. 상속과다형성 학습목표 상속에대해알아봅니다. 상속과클래스계층구조 메소드오버라이딩 객체마을에서의더나은삶 여러분도다형성계획에참여해보세요. 다시보는의자전쟁 1. 네클래스에공통적으로들어있는것을찾아낸다. Square Circle Triangle Amoeba rotate() rotate() rotate() rotate() playsound() playsound()

More information

C++ Programming

C++ Programming C++ Programming 클래스와데이터추상화 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 객체지향프로그래밍 클래스와객체 2 객체지향프로그래밍 객체지향언어 (Object-Oriented Language) 프로그램을명령어의목록으로보는시각에서벗어나여러개의 독립된단위, 즉 객체 (Object) 들의모임으로파악

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

` Companies need to play various roles as the network of supply chain gradually expands. Companies are required to form a supply chain with outsourcing or partnerships since a company can not

More information

PowerPoint Presentation

PowerPoint Presentation Class : Method Jo, Heeseung 목차 section 1 생성자 (Constructor) section 2 생성자오버로딩 (Overloading) section 3 예약어 this section 4 메소드 4-1 접근한정자 4-2 클래스메소드 4-3 final, abstract, synchronized 메소드 4-4 메소드반환값 (return

More information

Journal of Educational Innovation Research 2016, Vol. 26, No. 2, pp DOI: * Experiences of Af

Journal of Educational Innovation Research 2016, Vol. 26, No. 2, pp DOI:   * Experiences of Af Journal of Educational Innovation Research 2016, Vol. 26, No. 2, pp.201-229 DOI: http://dx.doi.org/10.21024/pnuedi.26.2.201608.201 * Experiences of After-school Class Caring by Married Early Childhood

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

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

More information

(Microsoft PowerPoint - 11_DesignPatterns\(2008\).ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - 11_DesignPatterns\(2008\).ppt [\310\243\310\257 \270\360\265\345]) LECTURE 11 디자인패턴 설계작업에대한도전 소프트웨어설계는어려운일 문제를잘분할하고 유연하고잘모듈화된우아한디자인이되어야함 설계는시행착오 (trial and error) 의결과 성공적인설계가존재 두설계가똑같은일은없음 반복되는특성 2 디자인패턴 디자인패턴은공통된소프트웨어문제에오래동안사용되어검증된솔루션 디자인작업에사용되는공통언어. 의사소통을향상시키며구현, 문서화에도움

More information

No Slide Title

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

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

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

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

More information

OOP 소개

OOP 소개 OOP 소개 최범균트위터 : @madvirus, 이메일 : madvirus@madvirusnet 강사소개 최범균 트위터 : @madvirus 이메일 : madvirus@madvirusnet 이력 현 ) 에스씨지솔루션즈 전 ) 위메이드엔터테인먼트 전 ) 다음커뮤니케이션 자바 7 프로그래밍, JSP 프로그래밍등저 2 TOC 비용 절차지향 vs 객체지향 객체지향

More information

삼성955_965_09

삼성955_965_09 판매원-삼성전자주식회사 본 사 : 경기도 수원시 영통구 매탄 3동 416번지 제조원 : (주)아이젠 삼성 디지털 비데 순간온수 세정기 사용설명서 본 제품은 국내(대한민국)용 입니다. 전원, 전압이 다른 해외에서는 품질을 보증하지 않습니다. (FOR KOREA UNIT STANDARD ONLY) 이 사용설명서에는 제품보증서가 포함되어 있습니다. 분실되지 않도록

More information

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not, Page 1 of 5 Learn Korean Ep. 4: To be and To exist Of course to be and to exist are different verbs, but they re often confused by beginning students when learning Korean. In English we sometimes use the

More information

Microsoft PowerPoint - 13_UMLCoding(2010).pptx

Microsoft PowerPoint - 13_UMLCoding(2010).pptx LECTURE 13 설계와코딩 최은만, CSE 4039 소프트웨어공학 설계구현매핑 UML 설계도로부터 Java 프로그래밍언어로의매핑과정설명 정적다이어그램의구현 동적다이어그램의구현 최은만, CSE 4039 소프트웨어공학 2 속성과오퍼레이션의구현 Student - name : String #d department t: String Sti packageattribute

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과 구현작업 l 작업이후본격적으로시스템을구축하는단계 l 프로그램, 즉코드모듈을구축하는과정 2 2 StarUML 코드생성 l Tools->Java->Generate Code 3 정적모델의구현 l 설계를프로그램으로매핑 l 클래스다이어그램과패키지다이어그램이프로그램과밀접 l 추상수준에따라구현에도움이되는정도가다름

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 11 장상속 1. 상속의개념을이해한다. 2. 상속을이용하여자식클래스를작성할수있다. 3. 상속과접근지정자와의관계를이해한다. 4. 상속시생성자와소멸자가호출되는순서를이해한다. 이번장에서만들어볼프로그램 class Circle { int x, y; int radius;... class Rect { int x, y; int width, height;... 중복 상속의개요

More information

거리계산문제 간단한문제 n 2 차원평면상의두점사이의거리를구하는프로그램을작성해보자 n 해법 : 피타고라스정리 거리구하는공식 n 두점 (x 1, y 1 ) 과 (x 2, y 2 ) 사이의거리 d n 제곱근은 Math.sqrt, 제곱은 Math.ow 로구함 4 절차지향적거리

거리계산문제 간단한문제 n 2 차원평면상의두점사이의거리를구하는프로그램을작성해보자 n 해법 : 피타고라스정리 거리구하는공식 n 두점 (x 1, y 1 ) 과 (x 2, y 2 ) 사이의거리 d n 제곱근은 Math.sqrt, 제곱은 Math.ow 로구함 4 절차지향적거리 Part 06 상속과다형성 Kwangman Man (htt://comiler.sangji.ac.kr, kkman@sangji.ac.kr) SangJi University 2012 이장의내용 클래스상속의필요성 클래스상속설계 Java 에서클래스상속구현 클래스상속과다형성의관계 Java 에서다형성구현 클래스계층과추상클래스, 최종클래스 2 6.1 두점사이의거리 kkman@sangji.ac.kr,

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 시사만화의 텍스트성 연구* 이 성 연**1) Ⅰ. 머리말 Ⅱ. 시사만화의 텍스트 구조 Ⅲ. 시사만화의 텍스트성 Ⅳ. 맺는말 요 약 본고의 분석 대상 시사만화는 2004년 노무현 대통령 탄핵 관련 사건들 인데, 시사만화의 그림 텍스트와 언어 텍스트의 구조와 그 구조를 이루는 구성 요소들이 어떻게 의사소통의 기능을 수행하며 어떤 특징이 있는가 를 살펴본

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

Microsoft PowerPoint - 2-Objective-C 기초

Microsoft PowerPoint - 2-Objective-C 기초 클래스와오브젝트 메모리관리 순천향대학교컴퓨터공학과이상정 1 Objective-C 소개 C 언어에 Smalltalk 스타일의메시지전달을결합한객체지향프로그래밍언어 Objective-C 와코코아는 Mac OS X 운영체제의핵심 개발역사 1980 년대초에 Stepstone 사의 Brad Cox 와 Tom Love 가개발 1985년에 Steve Jobs가저렴한워크스테이션개발을위해

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 클래스와객체 I 이번시간에서학습할내용 클래스와객체 객체의일생 메소드 필드 UML 직접클래스를작성해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다. 필드 (field) 는객체의속성을나타낸다. 메소드 (method) 는객체의동작을나타낸다. 클래스정의의예 class Car { // 필드정의 public int speed;

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 14. 상속 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 상속의기본 파생클래스와생성자 protected: 제한자 멤버함수의재정의 상속되지않는함수들 상속을이용한프로그래밍

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

슬라이드 1 9 장. 생성자와가비지컬렉션 학습목표 스택과힙지역변수와인스턴스변수객체생성과생성자객체제거 ( 가비지컬렉션 ) 객체의삶과죽음 그리고그가말했어. 다리에감각이없어! 그리고내가말했지. 조! 정신차려조! 하지만이미너무늦었어. 가비지컬렉터가나타났고그는죽고말았지. 내가만나본가장좋은객체였는데말야 스택과힙 스택 (stack) 메소드호출과지역변수가사는곳 지역변수는스택변수라고도부릅니다.

More information

A Tour of Java V

A Tour of Java V A Tour of Java V Sungjoo Ha April 3rd, 2015 Sungjoo Ha 1 / 28 Review First principle 문제가생기면침착하게영어로구글에서찾아본다. 타입은가능한값의집합과연산의집합을정의한다. 기본형이아니라면이름표가메모리에달라붙는다. 클래스로사용자정의타입을만든다. 프로그래밍은복잡도관리가중요하다. OOP 는객체가서로메시지를주고받는방식으로프로그램을구성해서복잡도관리를꾀한다.

More information

민속지_이건욱T 최종

민속지_이건욱T 최종 441 450 458 466 474 477 480 This book examines the research conducted on urban ethnography by the National Folk Museum of Korea. Although most people in Korea

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA e- 비즈니스연구 (The e-business Studies) Volume 17, Number 3, June, 30, 2016:pp. 273~299 ISSN 1229-9936 (Print), ISSN 2466-1716 (Online) 원고접수일심사 ( 수정 ) 게재확정일 2016. 06. 11 2016. 06. 24 2016. 06. 26 ABSTRACT e-

More information

소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과

소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과 소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과 UML 시퀀스다이어그램 l 시퀀스다이어그램 (Sequence Diagram) l 사용사례가어떻게수행되는지어떤메시지가언제보내지는지나타낸그림 l 시스템의동적인측면을캡처한것 l 동적뷰 (dynamic view) l 시간의흐름에따라정리해놓은것 l 페이지내려갈수록시간이흐름 l 객체는왼쪽에서오른쪽으로나열

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

Chapter 6 Objects and Classes

Chapter 6 Objects and Classes 11 장상속과다형성 1 강의목표 상속 (inheritance) 을이용하여기본클래스 (base class) 로부터파생클래스 (derived class) 생성 (11.2) 파생클래스유형의객체를기본클래스유형의매개변수 (parameter) 로전달함으로써일반화프로그래밍 (generic programming) 작업 (11.3) 생성자와소멸자의연쇄적처리 (chaining)

More information