UML 클래스 다이어그램 표기법 (UML Class Diagram)

Size: px
Start display at page:

Download "UML 클래스 다이어그램 표기법 (UML Class Diagram)"

Transcription

1 UML 클래스다이어그램표기법 (UML Class Diagram)

2 Objectives 자주사용되는 UML 클래스도를그릴수있다. 2

3 소개 클래스도 (Class Diagram) 클래스, 인터페이스및이들의연관관계를표현한도식 정적객체모델링에사용 이장의내용 모델링관점을떠나클래스도표기법자체만을다룸 참고자료로만활용 중요한것 도식을그리는기법보다 객체지향핵심원칙은무엇인가 가더중요 3

4 . UML 적용하기 : 클래스다이어그램의일반적표기법 3 common compartments. classifier name 2. attributes 3. operations an interface shown with a keyword «interface» Runnable run () SuperclassFoo or SuperClassFoo { abstract } - classorstaticattribute : Int + publicattribute : String - privateattribute assumedprivateattribute isinitializedattribute : Bool = true acollection : VeggieBurger [ * ] attributemaylegallybenull : String [ 0.. ] finalconstantattribute : Int = 5 { readonly } / derivedattribute + classorstaticmethod() + publicmethod() assumedpublicmethod() - privatemethod() # protectedmethod() ~ packagevisiblemethod() «constructor» SuperclassFoo (Long ) methodwithparms(param:string, param2:float) methodreturnssomething(): VeggieBurger methodthrowsexception () { exception IOException } abstractmethod () abstractmethod 2 () { abstract } // alternate finalmethod () { leaf }// no override in subclass synchronizedmethod () { guarded } officially in UML, the top format is used to distinguish the package name from the class name unofficially, the second alternative is common dependency java. awt :: Font or java. awt. Font plain : Int = 0 { readonly } bold : Int = { readonly } name : String style : Int = 0 getfont ( name : String ) : Font getname () : String Fruit interface implementation and subclassing run () SubclassFoo - ellipsis means there may be elements, but not shown - a blank compartment officially means unknown but as a convention will be used to mean no members association with multiplicities order PurchaseOrder 4

5 2. 정의 : 설계클래스도 설계클래스도 (DCD: Design Class Diagram) 소프트웨어객체의정적모델 Domain Model conceptual perspective Register Captures Sale time iscomplete : Boolean / total Register Sale Design Model DCD ; software perspective endsale () enteritem () makepayment () currentsale time iscomplete : Boolean / total makelineitem () 5

6 3. 정의 : 분류자 분류자 (classifier) 의정의 행위적이고구조적인특색을표현하는모델의요소 예 ) 클래스, 인터페이스, 유스케이스, 액터등을지칭 6

7 4. 속성의표기 : 속성텍스트및연관관계선 분류자의속성 (structural property) 의연관관계표기 currentsale:sale 과같은속성텍스트 (property text) 표기법 가시성속성이름 : 타입다중성 = 초기값 { 프로퍼티 - 문자열 } 보통가시성은 private 임. 연관관계선표기법 두가지혼합 Register 가 Sale 객체의참조를갖고있음ㅇ르표시하기위해속성텍스트로표현 Register currentsale : Sale Sale Register 가 Sale 객체를참조하고있음을시각적으로강조하고있음 Register currentsale Sale Register 객체가단하나의 Sale 객체와연관되었음을강조 중복적으로연관관계를나타내고있음. Register currentsale : Sale currentsale Sale 7

8 4. 속성의표기 2: 속성텍스트및연관관계선 도메인모델의연관 vs. DCD 모델의연관관계표시 지침 출발지로부터목적지로의화살표 화살표끝점에표기된다중성 끝점에표기된역할이름 (rolename) : 참조한변수의이름이됨 the association name, common when drawing a domain model, is often excluded (though still legal) when using class diagrams for a software perspective in a DCD UP Domain Model conceptual perspective id : Int Register Captures-current-sale Sale time : DateTime UP Design Model DCD software perspective id: Int Register currentsale Sale time: DateTime 8

9 4. 속성의표기 3: 데이터타입 데이터타입 (Data Type) 중요하지않은클래스들 예 ) Boolean, Date, Number, Character, String, Time, Address, Color, Geometrics(Point, Rectangle), Phone Number, SSN, UPC, ZIP, 나열형등 데이터타입객체들은속성에표현하고, 중요한클래스에대한참조속성들은연관으로표기한다. applying the guideline to show attributes as attribute text versus as association lines id: Int Register currentsale Sale time: DateTime public class Register { private int id; private Store location; private Sale currentsale; Register has THREE attributes:. id 2. currentsale 3. location location Store address: Address phone: PhoneNumber } 9

10 4. 속성의표기 3: 연관관계의끝점표기법 다중성 역할명 {ordered} {ordered, List} 같은프로퍼티문자열 Sale SalesLineItem time: DateTime lineitems : SalesLineItem [..*] or lineitems : SalesLineItem [..*] {ordered} Two ways to show a collection attribute public class Sale { private DateTime time; private List<SalesLineItem> lineitems = new ArrayList<SalesLineItem>; } Sale time: DateTime..* lineitems {ordered, List} notice that an association end can optionally also have a property string such as {ordered, List} SalesLineItem 0

11 5. 노트 : 메모, 주석, 제약사항, 메소드몸체 노트기호 어디에든붙일수있음 설명하고자하는대상과노트기호와는점선으로연결 노트의사용 주석, 메모 UML 제약사항 : 항상 {} 로묶어서나타낸다. 메소드몸체 = UML 오퍼레이션의구현을표기 «method» // pseudo - code or a specific language is OK public void enteritem ( id, qty ) { ProductDescription desc = catalog. getproductdescription ( id ); sale. makelineitem ( desc, qty ); } Register endsale () enteritem ( id, qty ) makenewsale () makepayment ( cashtendered )

12 6. 오퍼레이션과메소드 연산 클래스박스안의세번째구획 오퍼레이션의시그너쳐만을표기 시그너쳐표기법 가시성이름 ( 매개변수목록 } : 반환타입 { 프로퍼티문자열 } 지침 가시성은기본적으로 public 으로가정 프로퍼티문자열은예외처리나추상함수여부를표현 예 ) +getplayer(name: String) : Player {exception IOException} Java 구현 public Player getplayer(string name) throws IOException 예 2) +getplayer(name: String) : Player {abstract} C++ 구현 public: virtual Player getplayer(string name) 메소드 연산을구현한것 표기법 인터랙션다이어그램에서메시지의세부내용을기술 클래스도에서 UML 노트를사용하여기술 2

13 6. 오퍼레이션과메소드 2 DCD 에서연산에대한논의점 Create 연산 C++, Java 에서의 new 연산자호출하는것으로구현됨 파라미터타입에맞는생성자가수행됨 속성에접근하는연산들 (setter, getter 연산들 ) DCD에는가급적나타내지않음 N 개의속성이있으면 2N개의접근연산이필요 불필요하게클래스도가복잡해지므로생략 3

14 7. UML 키워드 (Keyword) UML 키워드란? 모델요소들을범주로나누기위해 UML 에서미리정해놓은용어 를사용 키워드의미사용예 <<actor>> 액터이다. 분류자의이름위에 <<interface>> 인터페이스이다. 클래스이름위에 {abstract} 추상화된요소이며인스턴스를만들수없다. 클래스이름위또는연산이름끝에표기 {ordered} 순서있는객체의집합연관관계끝점에표기 4

15 8. 스테레오타입, 프로파일, 태그 UML 프로파일 특정도메인이나플랫폼에자주사용되는스테레오타입, 태그, 제약사항을정의해놓은집합 예 ) 프로젝트관리용, 데이터모델링용프로파일 스테레오타입 <<>> 로표기하는것은키워드와같다. 도메인에서자주사용되는용어로미리정해져있거나사용자가정의 UML 확장메커니즘의하나 태그 스테레오타입의 { 속성 - 값 } 의쌍을태그라고함 스테레오타입의정의 UML extension relationship to a basic UML metamodel term Element 스테레오타입의사용 a tool will probably allow a popup to fill in the tag values, once an element has been stereotyped with «authorship» «metaclass» Element «stereotype» Authorship «authorship» Square «authorship» author = craig status = tested author : String status : String 5

16 9. UML 프로퍼티및프로퍼티문자열 Property? 한요소의특징을표시하는명명된값이다. 예 ) 연산의가시성프로퍼티 : UML 에서미리정해진특징 문자열표기법 {name=value,name2=value2} {abstract,visibility=public} {abstract} == {abstract=true} 6

17 0. 일반화, 추상클래스, 추상오퍼레이션 일반화 Superclass 에서서브클래스로이어지는실선및빈화살촉으로표현 도메인모델 : 부분집합 DCD : 상속을의미 최종클래스및최종연산은 {leaf} 태그사용 추상클래스는 {abstract} 또는이탤릭체 Polygon Rectangle Polygon {abstract} Rectangle 7

18 . 의존관계 의존관계 어떤도식에서도사용가능 클래스도, 패키지도에서주로사용 의존관계의정의 클라이언트요소 ( 클래스, 패키지, UC) 가서비스를제공하는공급자요소의정보를가지고있어, 공급자요소의변화가클라이언트에도영향을주는관계로정의함. 의존관계선은클라이언트에서공급자에게로점선화살표로연결함. 의존관계는결합도 (coupling) 의한형태로인식할수있음 의존관계의일반적형태 : 클라이언트 A 는공급자 B 에의존한다. A 가공급자 B 타입의속성을가졌을때 A 가공급자 B 로메시지를보낼때 ( 연관 ) A 의함수가공급자타입의매개변수를받을때 공급자 B 가 A 의슈퍼클래스일때 ( 상속 / 일반화관계 ) 특수한형태의의존관계는해당표기법을사용 상속, 복합연관, 집합연관 지침 클래스도에서는객체들간의전역변수, 매개변수, 지역변수, 정적메소드의의존관계를표시할때에사용 8

19 의존관계의예 public class Sale { public void updatepricefor(productdescription desc) { Money baseprice = desc.getprice(); // } private SalesLineItem lineitems; // } public class Foo { public void dox() { System.runFinalization(); // } // } the dox method invokes the runfinalization static method, and thus has a dependency on the System class System the Sale has parameter visibility to a ProductDescription, and thus some kind of dependency ProductDescription dox() Foo runfinalization() Sale updatepricefor( ProductDescription ) SalesLineItem..* lineitems 파라미터의존 정적메소드호출 9

20 의존관계레이블 의존관계의특성을표시하고싶을때 스테레오타입으로표현 Window «call» Clock gettime () A «create» B a dependency on calling on operations of the operations of a Clock a dependency that A objects create B objects 20

21 2. 인터페이스 UML 에서의인터페이스의구현 인터페이스실현 (interface realization) 관계 빈촉을가진점선 인터페이스의표기법 소켓, 원으로표현 socket line notation Window Timer Window uses the Timer interface it has a required interface dependency line notation Window 2 has a dependency on the Timer interface when it collaborates with a Clock 2 object «interface» Timer gettime () Clock 2 gettime () Timer Window 2 Clock Clock implements and provides the Timer interface Clock 3 gettime () gettime () lollipop notation indicates Clock 3 implements and provides the Timer interface to clients Timer is a provided interface Timer Window 3 socket line notation Window 3 has a dependency on the Timer interface when it collaborates with a Clock 3 object 2

22 3. 집합 (aggregation) 연관과복합 (composition) 연관 집합연관 (aggregation) 약한전체부분관계 부분은자체적으로존재할수있고, 없어질수도있다. 끝이비어있는다이어몬드를가진선으로표기 복합연관 (composition) 강한전체부분관계 부분만으로는존재할수없고항상전체와동시에존재 다음을암시 Square 와같은부분객체는항상 Board 같은복합객체에만속한다. 부분객체는항상복합객체에종속된다. 복합객체가부분객체의생성및삭제를책임진다. 즉, 복합객체가사라지면부분객체도소멸된다. 끝이채워진다이어몬드를가진선으로표기 Hand 0..7 Finger composition means -a part instance (Square) can only be part of one composite (Board) at a time composition -the composite has sole responsibility for management of its parts, especially creation and deletion Board 40 Square Sale..* SalesLineItem 22

23 4. 제약사항 UML 제약사항 (constraints) UML 요소에대한제한및조건을표시하기위함 중괄호 {} 안에제약조건표시 표기법 3 가지 Stack size : Integer { size > = 0 } three ways to show UML constraints push ( element ) pop () : Object { post condition : new size = old size + } { post condition : new size = old size } 23

24 5. 한정적연관관계 한정적연관관계 (qualified association) 큰집합에서하나의객체를선택하여관계를한정할때쓰이며, 선택된객체를한정자 (qualifier) 라고한다. 대개의경우다중성이감소함 : 큰집합에서하나를선택하기때문 (a) Product Catalog Contains..* Product Description (b) Product Catalog itemid Contains Product Description qualifier multiplicity reduced to 24

25 6. 연관관계클래스 연관관계클래스 (association class) 구현 두클래스사이의연관관계를속성으로가진클래스를지칭 예 ) Employment 는 Company 객체와 Person 객체를이어주고, salary 및 startdate 를추가속성으로가짐 연관관계클래스와연관된클래스들간의두개의연관으로분리후구현 Company * Employs * Person a person may have employment with several companies salary startdate Employment 25

26 7. Singleton 클래스 디자인패턴중 Singleton 패턴에서나오는클래스 한클래스의인스턴스가시스템을통틀어하나만존재할때 UML notation : in a class box, an underlined attribute or method indicates a static ( class level ) member, rather than an instance member instance : ServicesFactory ServicesFactory accountingadapter : IAccountingAdapter inventoryadapter : IInventoryAdapter taxcalculatoradapter : ITaxCalculatorAdapter getinstance () : ServicesFactory UML notation : this ' ' can optionally be used to indicate that only one instance will be created ( a singleton ) getaccountingadapter () : IAccountingAdapter getinventoryadapter () : IInventoryAdapter gettaxcalculatoradapter () : ITaxCalculatorAdapter 26

27 8. 템플릿클래스및인터페이스 템클릿클래스 (template class) C++, Java 의템플릿또는매개변수화된타입등으로불림 리스트또는맵등의 collection 클래스들의구현방법 예 ) Square 요소를갖는 ArrayList ArrayList<Square> public class Board { private List<Square> squares = new ArrayList<Square> // } parameterized or template interfaces and classes K is a template parameter «interface» List clear () K the attribute type may be expressed in official UML, with the template binding syntax requiring an arrow or in another language, such as Java Board anonymous class with template binding complete ArrayList T squares : List < K Square > or squares : List < Square > ArrayList < T Square > elements : T [*] clear () clear () for example, the elements attribute is an array of type T, parameterized and bound before actual use. there is a chance the UML 2 arrow symbol will eventually be replaced with something else. g e., = 27

28 9. 사용자정의구획 사용자정의구획 이름, 속성, 연산등 UML 에서정의한구획외에사용자가정의한구획을클래스박스안에추가할수있음 예 ) 책임구획, 예외처리구획을추가하여사용 id : Int dox() DataAccessObject exceptions thrown DatabaseException IOException responsibilities serialize and write objects read and deserialize objects 28

29 20. 액티브클래스 액티브객체 객체자신의쓰레드 (thread) 를실행하고제어 액티브클래스 액티브객체의클래스 active class «interface» Runnable Clock run () run () 29

30 2. 인터랙션다이어그램 vs. 클래스다이어그램 어떤관계인가? 클래스및클래스의메소드는동적모델링을하는창의적인설계과정으로부터정제되어드러난다. 순서 동적모델링 정적모델링 병렬적 Agile 방법론에서는상호보완하면서모델링 예 ) 0 분동적모델링후 0 분정적모델링, 이를반복 : Register : Sale makepayment ( cashtendered ) makepayment ( cashtendered ) messages in interaction diagrams indicate operations in the class diagrams Register Sale classes identified in the interaction diagrams are declared in the class diagrams makepayment ( ) currentsale makepayment ( ) 30

UML 인터랙션 다이어그램 표기법 (UML Interaction Diagram)

UML 인터랙션 다이어그램 표기법 (UML Interaction Diagram) UML 인터랙션다이어그램표기법 (UML Interaction Diagram) Objectives 자주사용되는 UML 순차도와협력도를그릴수있다. 2 소개 동적객체모델링은객체들이메시지를주고받으면서상호작용하는것을표현 Interaction Diagram 을사용 순차도 (sequence diagram) 과협력도 (communication diagram) 으로구분. 표기법보다는객체지향설계의핵심원칙은무엇인가가더중요!

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

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

JAVA PROGRAMMING 실습 08.다형성

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

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

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

UML

UML Introduction to UML Team. 5 2014/03/14 원스타 200611494 김성원 200810047 허태경 200811466 - Index - 1. UML이란? - 3 2. UML Diagram - 4 3. UML 표기법 - 17 4. GRAPPLE에 따른 UML 작성 과정 - 21 5. UML Tool Star UML - 32 6. 참조문헌

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

객체들이책임을가지고협력하는것을어떻게설계할것인가? applying OO Design principles and the UML 책임을할당하고객체들사이의협력을설계하는것은, 설계시에가장중요하고창조적인작업이다. 2/55

객체들이책임을가지고협력하는것을어떻게설계할것인가? applying OO Design principles and the UML 책임을할당하고객체들사이의협력을설계하는것은, 설계시에가장중요하고창조적인작업이다. 2/55 Ch18. GRASP 패턴을이용한객체설계예제 Professor Seung-Hoon Choi 객체들이책임을가지고협력하는것을어떻게설계할것인가? applying OO Design principles and the UML 책임을할당하고객체들사이의협력을설계하는것은, 설계시에가장중요하고창조적인작업이다. 2/55 유스케이스실체화 특정유스케이스가설계모델내에서어떻게실현될것인가를,

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

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

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

슬라이드 1

슬라이드 1 201111339 김민우 201111344 김재엽 201211386 최하나 1 UML 이란 2 UML 특징 3 UML 의구성요소 3.1 UML Building Blocks 구성요소 사물 (Things) 관계 (Relationship) 다이어그램 (Diagram) 4 UML 모델링 Tools : CASE UML(Unified Modeling Language)

More information

JVM 메모리구조

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

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

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

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

슬라이드 1

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

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

Microsoft PowerPoint - 2강

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

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

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 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 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 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

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 - 06_ClassDiagram(2010).ppt [호환 모드]

Microsoft PowerPoint - 06_ClassDiagram(2010).ppt [호환 모드] LECTURE 6 UML 클래스다이어그램 클래스다이어그램은 UML 의중심 최은만, CSE 4039 소프트웨어공학 목차 UML 이란? UML 의역사 UML 클래스다이어그램 Exercise 클래스다이어그램설계 최은만, CSE 4039 소프트웨어공학 2 UML 분석, 설계를비주얼화, 문서화하기위한그래픽언어 Unified 이전의 OO 방법들의통합 Modeling 객체지향분석설계를위한비주얼모델링

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

시스템 순차도

시스템 순차도 시스템순차도 (SSD) 1 1 소개 시스템순차도 (SSD: System Sequence Diagram) 구현하고자하는소프트웨어시스템을블랙박스로놓고액터와시스템간의행위를순차도로기술 쓰임새의한시나리오에대해서외부액터가발생하는사건및그순서그리고시스템간의사건을보여줌. 개발하고자하는시스템의입력과출력이벤트를알기쉽게표현 빠르고쉽게생성되는산출물임 유스케이스로부터 UML 순차도를이용하여정형화

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

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

제목

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

비긴쿡-자바 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 - 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

쉽게 풀어쓴 C 프로그래밍

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

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

자바 프로그래밍

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

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

논리적 구조 설계: 패키지도

논리적 구조 설계: 패키지도 논리적구조설계 : 패키지도 Objectives. UML. 2 객체설계로옮겨가기 (interaction diagram). /.. : UML -UML. -UML. -. 1. 2. 3 문맥 Sample UP Artifact Relationships Business Modeling Domain Model * * Requirements Use-Case Model Vision

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

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

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

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

step 1-1

step 1-1 Written by Dr. In Ku Kim-Marshall STEP BY STEP Korean 1 through 15 Action Verbs Table of Contents Unit 1 The Korean Alphabet, hangeul Unit 2 Korean Sentences with 15 Action Verbs Introduction Review Exercises

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

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

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

More information

#KM560

#KM560 KM-560 KM-560-7 PARTS BOOK KM-560 KM-560-7 INFORMATION A. Parts Book Structure of Part Book Unique code by mechanism Unique name by mechanism Explode view Ref. No. : Unique identifcation number by part

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

PowerPoint 프레젠테이션

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

More information

자바GUI실전프로그래밍2_장대원.PDF

자바GUI실전프로그래밍2_장대원.PDF JAVA GUI - 2 JSTORM http://wwwjstormpekr JAVA GUI - 2 Issued by: < > Document Information Document title: JAVA GUI - 2 Document file name: Revision number: Issued by: Issue Date:

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

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

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

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

More information

슬라이드 1

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

More information

#KM-250(PB)

#KM-250(PB) PARTS BOOK FOR 1-NEEDLE, STRAIGHT LOCK-STITCH MACHINE SERIES KM-250AU-7S KM-250AU-7N KM-250A-7S KM-250A-7N KM-250B-7S KM-250B-7N KM-250BH-7S KM-250BH-7N KM-250BL-7S KM-250BL-7N KM-250AU KM-250A KM-250B

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Team 1 201611293 전다윤 201311287 엄현식 201311318 최정헌 01. 문서수정 02. System Test Review 03. Static Test Review 04. 소감 1 문서수정 문서수정 수정 System Test 문서 + 전문서에없던수정사항 수정 System Test 문서 문서수정 소프트웨어검증팀의문서대로수정한사항들 1008

More information

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형 바에 제네릭스(generics)를 도입하기 위한 연구는 이미 8년 전인 1996년부터라고 한다. 실제로 자바에 제네릭스를 도입하 는 몇 가지 방안들이 논문으로 나오기 시작한 것이 1998년 초임을 감 안하면 무려 8년이 지난 후에야 자바 5.0에 전격 채택되었다는 것은 이것이 얼마나 어려운 일이었나 하는 것을 보여준다. 자바의 스펙을 결정하는 표준화 절차인

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

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

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

Slide 1

Slide 1 SeoulTech 2011-2 nd 프로그래밍입문 (2) Chapter 16. 템플릿 박종혁교수 (http://www.parkjonghyuk.net) Tel: 970-6702 Email: jhpark1@snut.ac.kr Learning Objectives 함수템플릿 구문, 정의 컴파일합병 클래스템플릿 문법 예 : 배열템플릿클래스 템플릿및상속 예 : 부분적으로채워진배열템플릿클래스

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 클래스와메소드심층연구 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 접근제어 class A { private int a; int b; public int c; // 전용 // 디폴트 // 공용 public class Test { public static void main(string args[]) { A obj = new

More information

PowerPoint 프레젠테이션

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

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

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

Microsoft PowerPoint - 1주차 UML의 구성과 도구

Microsoft PowerPoint - 1주차 UML의 구성과 도구 UML의 구성과 도구 v UML(Unified Modeling Language) v UML의 구성 요소 v UML의 관계 v UML의 다이어그램 v UML 도구 UML(Unified Modeling Language) l 모델링 과정(modeling process)과 모델링 언어(modeling language)를 제안 모델링 과정 : 객체지향으로 분석하고 설계하는

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

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

More information

17장 클래스와 메소드

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

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

제목

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

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

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

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

슬라이드 1

슬라이드 1 2 장 UML 의구성 UML 아키텍처 UML 메커니즘 한빛미디어 ( 주 ) 학습목표 UML 의구성요소를학습한다. UML 의관계를이해한다. 다이어그램의개념을이해한다. 2 UML 의구성요소 UML은기본요소를구성하는 사물 (Things) 사물간의관계를나타내는 관계 (Relationship) 사물과관계를도형으로표현하는 다이어그램 (Diagram) [ 그림 2-1]

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

No Slide Title

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

More information

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer....

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer.... SV2016 정적분석보고서 201214262 라가영 201313250 서지혁 June 9, 2016 1 Contents Contents 2 1 Abstract 3 2 Infer 3 2.1 Checkers................................ 3 2.2 Eradicate............................... 3 2.3 Infer..................................

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

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

06.AnalysisModeling.key

06.AnalysisModeling.key CSE4006 Software Engineering Analysis Modeling Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Overview of Analysis Modeling 1. 2.

More information

04-다시_고속철도61~80p

04-다시_고속철도61~80p Approach for Value Improvement to Increase High-speed Railway Speed An effective way to develop a highly competitive system is to create a new market place that can create new values. Creating tools and

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

어댑터뷰

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

More information