Software Verification

Size: px
Start display at page:

Download "Software Verification"

Transcription

1 System testing & Static Analysis 2nd Report Team # 이상열 정재호 김재엽 박주광

2 Contests 1. System Testing 2. Static Analysis I. Eclipse TPTP II. Sonar A. Introduction B. Sonar Report C. Analysis D. Result

3 1. System Testing System Testing Result #1 Test Case No. 203 현재보여지는화면만잘라내어저장하는현상으로보여진다. 아래앞서 < 원본그림 > 은 9999x9999 규격으로저장한 파일이며오른쪽 < 저장 1> 과 < 저장 2> 는프로그램을사용 < 원본그림 > 을불러서프로그램창의크기를다르게 하여저장기능을수행한것이다. System Testing Result #2 Test Case No. 301, 302, 303

4 특정작업 ( 연필, 지우개, 페인트 ) 을수행하면화면이아래로내려가는현상 System Testing Result #3 Test Case No. 304 텍스트입력시왼쪽위편에텍스트색상과같은색상의점발생

5 2. Static Analysis Eclipse TPTP Analysis #1 ( 도형그리기 ) 실제코드와문서상 method 의이름이맞지않음

6 문서상의 method 기능과실제간차이발생 Analysis #2 ( 연필그리기 )

7 마우스 press 와 dragged 부분만정의되어있고 release 부분은정의되어있지않음 Analysis #3 ( 게임시작하기 )

8 ShowSketch 이후에 getsketch 가시작되지만문서상에는이와같이표현되어있지않음 Analysis #4 ( 채점하기 ) 문서상에 TextFileI/O 가빠져있음

9 LoadText 시에도 loop 가돌게되어있는데표현이안됨. 밑의기능은 loop 가돈다는것을명시했는데, 이러한 표기법에서통일성이요구됨 SaveText 역시 LoadText 와통일하게표기법의통일성이요구됨

10 2. Static Analysis SONAR 1. Introduction I. Purpose Introduction을통해 Sonar 에서제공하는 Report의기본용어들을설명하고, Sonar Report를통해분석대상을설정한다. 그리고 Analysis 에서는 Sonar Report에서설정한대상을분석하고, 해당문제를해결할방안을제시한다. II. How to access sonar i. 다음주소로접속. ii. Projects 에서해당프로젝트 (team1) 를클릭하여분석결과화면 (Dashboard) 으로이동한다. iii. 다음화면과같이분설결과화면 (Dashboard) 을확인할수있음. III. Metric Definition( 용어설명 ) i. Lines of code 해당프로젝트의총라인수를의미하며, sonar에서사용하는모든단위의기본이된다. 예를들어뒤에나올 Duplications( 중복 code) 에서중복된라인수와그라인수가전체프로젝트에서차지하는비율을나타낸다. Statements는예를들어 if, while, for문과같이 JAVA language specification상에서 statements 로정의된구문의개수를의미한다.

11 ii. iii. iv. Class 클래스의개수를의미한다. Sonar에서는 function을 Method와 Accessor로구분하는데 Accessor는해당클래스에접근할수있는함수들 (ex: setter, getter) 를의미하고 Method는그외의함수들을의미한다. Comments 주석의비율및라인수를나타낸다. Documented API는라이브러리상에선언된주석을의미하며, Undocumented API는개발자가임의로삽입한주석을의미한다. Duplication 중복된소스코드에대해라인수와블록수, 그리고해당중복이일어나파일개수를나타내어준다. 변수에대해서는변수의 Type만구분하고변수의값이같은것은체크하지않는다. v. Complexity If, for, while, case, catch, throw, return, &&,,? 등과같은 Keyword가나타나면 count를올려서 complexity를측정한다. 우측의막대그래프는복잡도에따른 Method또는 file, Class의분포도를보여준다. vi. vii. Violation 주로 code quality와관련된내용들로서 5단계의 severity( 심각도 ) 로나누어보여준다. Code standard와관련된규칙들로가독성과유지보수에도움이될수있기때문에, 해당규칙에대해고려해볼수있다. Coverage Unit test를통한 coverage를나타내며, Jacoco나 Clover와같은 coverage툴을이용하여측정한다. 앞에서이야기한것처럼 Sonar는기본단위가라인수이므로주석이나빈공간도 coverage 비율에포함한다. 그래서실제 coverage보다조금낮게나오기도하므로주의해서보아야한다. 2. Sonar Report I. Purpose Sonar Report를통해 Analysis대상을미리제시하여본문서를읽는사람이통일된주제에초점을맞추고, Analysis에대한근거를미리제시한다. II. Duplication i. 총 3 부분에서 Duplication 이발생하였으며, 해당 Duplication 이발생한지점을 screen shot 과번호를붙 여제시하였다. ii. Number: D001 File: Interface.java Class: interface Method: public void DrawShapeReleased(MouseEvent arg0)

12 다음두 Duplication 는해당 Method 에서발생하여서하나의 Duplication 으로묶었다. iii. Number: D002 File: Interface.java Class: interface Method: public void Fill_Color(MouseEvent arg0), public void Load() 다음두 Method File_color 와 Load 에서 Duplicaion 이발생하였다. iv. Number: D003 File: Interface.java Class: interface Method: public void ShowSketchWin(),public void ShowScoreWin()

13 다음두 Method ShowSketchWin 과 ShowScoreWin 에서 Duplication 이발생하였다. III. Coverage 위의 Coverage는 Unit test에대한 Coverage를나타낸다. Coverage의경우다음과같이 Unit test가진행된부분과진행되지않은부분을녹색라인과빨간색라인으로구분하여보여주는것을확인할수있다. IV. Violation i. Violation은 Code Standard에맞추고자하는데그목적이있으며, 해당 violation이발생한지점의개수와 rule name, 번호를붙여제시하였다. ii. Dashboard 아래의 Hotspots 을클릭후 violated rules 의 more button 을누르면 violation 에대한정보를 한눈에볼수있다.

14 iii. 해당 violation 을클릭하면 violation 이발생한지점을확인할수있다. iv. 이뒤로부터 Severity에따라 Violation을구분하여 violation rule에대한설명과번호를붙였다. v. Severity: Major (V001 ~ V027) Violation 발생개수 : Number: V001 Name: Method Name Number of violation: 41 Description: ^[a-z][a-za-z0-9]*$ Method의이름을다음정규식에따라작성할것을요구하는 rule 이다. 시작은 [a-z] 의소문자로시작하여그뒤로 [a-za-z0-9] 영어숫자를쓸것을권유한다. 2. Number: V002 Name: Local Variable Name Number of violation: 35

15 Description: ^[a-z][a-za-z0-9]*$ 지역변수의이름을이름을다음정규식에따라작성할것을요구하는 rule이다. 시작은 [a-z] 의소문자로시작하여그뒤로 [a-za-z0-9] 영어숫자를쓸것을권유한다. 3. Number: V003 Name: Loose coupling Number of violation: 31 Description: 해당프로젝트에서사용하는 ArrayList 와같은 implementation type이아닌 interface를사용할것을권유한다. 4. Number: V004 Name: If Else Stmts Must Use Braces Number of violation: 27 Description: if else 구문을중괄호 ( {,}) 와함께사용할것을권장한다. 5. Number: V005 Name: String Literal Equality Number of violation: 24 Description: 문자열비교는 == 이아니라 equals() 를이용할것을권장한다.( 문자열비교함수사용을권장한다는의미로해석됩니다.) 6. Number: V006 Name: Visibility Modifier Number of violation: 13 Description: Protected로선언된변수들을 Private으로선언하고 accessor(setter, getter) 등으로접근할수있도록만들것을권장한다. 7. Number: V007 Name: If Stmts Must Use Braces Number of violation: 9 Description: if 구문을중괄호 ( {,}) 와함께사용할것을권장한다. 8. Number: V008 Name: Avoid Print Stack Trace Number of violation: 9 Description: printstacktrace() 대신에 logger call을사용할것을권장한다.(java 에서제공하는 class 중 Logger라는클래스에대한것으로보입니다. 메시지가발생시간을관리하는클래스로보이니다.) 9. Number: V009 Name: Member name Number of violation: 9 Description: ^[a-z][a-za-z0-9]*$ 멤버변수의이름을이름을다음정규식에따라작성할것을요구하는 rule이다. 시작은 [a-z] 의소문자로시작하여그뒤로 [a-za-z0-9] 영어숫자를쓸것을권유한

16 다. 10. Number: V010 Name: Integer Instantiation Number of violation: 7 Description: instantiating Integer objects 대신에 Integer.valueOf() 사용할것을권장한다. 11. Number: V011 Name: Hidden Field Number of violation: 6 Description: 해당변수나클래스가 filed를감추어서발생한다. ( 정확하게무엇을의미하는지는모르겠으나간략하게조사해본결과, Hidden filed는보안상취약점이될수있다고합니다. 그래서이러한부분을줄일것을권유하는것같습니다.) 12. Number: V012 Name: Anon Inner Length Number of violation: 5 Description: Inner class의길이가최대길이로설정된 20보다길다. (class 내부에선언된다른 class 의정의가길어서발생하는거같습니다. Complexity에는방영되지않으나 class의규모가필요이상으로커지는것을막기위해, inner class의길이를줄이것을권유하는것같습니다.) 13. Number: V013 Name: Parameter Name Number of violation: 5 Description: ^[a-z][a-za-z0-9]*$ Parameter의이름을이름을다음정규식에따라작성할것을요구하는 rule이다. 시작은 [a-z] 의소문자로시작하여그뒤로 [a-za-z0-9] 영어숫자를쓸것을권유한다. 14. Number: V014 Name: Avoid Duplicate Literals Number of violation: 5 Description: 특정문자열 (ex: 게임시작, 지우개 ) 등이여러번나타난다. 15. Number: V015 Name: Local Final Variable Name Number of violation: 3 Description: ^[a-z][a-za-z0-9]*$ final로선언된지역변수들의이름을이름을다음정규식에따라작성할것을요구하는 rule이다. 시작은 [a-z] 의소문자로시작하여그뒤로 [a-za-z0-9] 영어숫자를쓸것을권유한다. 16. Number: V016 Name: Cyclomatic Complexity Number of violation: 3

17 Description: 해당 Method들의 Cyclomatic Complexity이 20이상으로나타나므로이를줄여야한다. ( Cyclomatic Complexity은위에서서술한것처럼 compelxity를측정하는한지표이다.) 17. Number: V017 Name: For Loops Must Use Braces Number of violation: 3 Description: for 루프문의중괄호 ({,}) 와함께사용할것을권장한다. 18. Number: V018 Name: Simplify Boolean Expression Number of violation: 3 Description: 좀더간단히표현할수있는항목들을보여준다. 19. Number: V019 Name: Ncss Method Count Number of violation: 2 Description: Ncss가최대길이 (50) 을넘어갔을때발생한다. ( NCSS는 Not Commented Source Statements 로일정길이이상 (50) 주석이달리지않은 Method에대해서만발생합니다.) 20. Number: V020 Name: Unused local variable Number of violation: 2 Description: 사용되지않는지역변수들을보여준다. 21. Number: V021 Name: Use Index Of Char Number of violation: 2 Description: String.indexOf(char) 가 String.indexOF(String) 보다빠르므로이를사용할것을권장한다. 22. Number: V022 Name: Avoid commented-out lines of code Number of violation: 1 Description: // 다음과함께사용된주석의사용을제지할것을요구한다. 23. Number: V023 Name: Constructor Calls Overridable Method Number of violation: 1 Description: Overridable Method인함수 SelectFileColor 가 Object 생성중에호출되는것을지적하는부분이다. 24. Number: V024 Name: Parameter Assignment Number of violation: 1

18 Description: Parameter로선언된변수에다시값을넣지않는것을권유한다. 25. Number: V025 Name: Unnecessary Local Before Return Number of violation: 1 Description: return이되는 local변수를굳이 return하지않고내부에서저장할것을권유한다. 26. Number: V026 Name: Ncss Type Count Number of violation: 1 Description: NCSS가최대길이를넘어간경우발생한다.( 위에서나왔던것과마찬가지로 NCSS가일정길이 ( 이경우에는 Method가아니라 file을체크하므로 200) 이상넘게되면발생합니다.) 27. Number: V027 Name: Unused Private Field Number of violation: 1 Description: 사용하지않는 private 선언부를지울것을권장한다. vi. Severity: Minor (V028~V030) Violation 발생개수 : Number: V028 Name: Magic Number Number of violation: 161 Description: 개발자가임의로설정한수치를의미한다. 2. Number: V029 Name: Trailing Comment Number of violation: 38 Description: 코드가끝나는줄에 // 주석 다음과같이주석이들어가는것을찾아낸다. 3. Number: V030 Name: Singular Field Number of violation: 21 Description: 지역변수로선언될수있는 private 멤버들을찾아낸다. vii. Severity: Info (V031) Violation 발생개수 : 2 1. Number: V031 Name: Unused Imports Number of violation: 2 Description: 참조하지않는라이브러리들을찾아낸다.

19 3. Analysis I. Purpose Sonar Report에서제시한 Analysis 대상을분석하여건의사항과그근거를제시하여, 프로젝트의완성도를높인다. II. Duplication i. D001 이 Duplication의경우주로도형과관련된 class의변수를설정하거나출력하는부분으로보인다. 따라서각도형클래스내부에해당속성들의설정해주는 Method를만들어주거나, 또는 interface 클래스에해당도형의속성을설정해주는 Method를만들어주는방법들이있을것이다. 다만, Method를만들어줌으로써가독성이떨어지거나복잡도가올라갈수있으므로, 개발자에재량에따라적절한방법을취할것을권유한다. ii. iii. D002 D001의 Duplication과마찬가지로비슷한동작을하는부분이잡혀있다. 위와같은방법으로해결할수있다. D003 D001의 Duplication과마찬가지로비슷한동작을하는부분이잡혀있다. 위와같은방법으로해결할수있다. III. Coverage i. Coverage가 1.8% 밖에안되어 coverage가상당히낮아보이지만, 실질적으로 accessor(setter, getter) 는굳이 Unit test를거치지않아도괜찮으며, 주석이나변수선언부또한 coverage비율에포함되므로 coverage가낮게나오는것은큰문제가아니라고볼수있다. 다만, PaintGame.java의 public void CalculateScore(BufferedImage d_img, String filename) 의경우 System testing에서도정확한수치를확인할방법이없었으므로 unit test를한번거쳐보는것이좋을것같다. IV. Violation i. Violation의경우프로젝트가실행되는 logic을고려하지않고, 단순히 code standard를지키기위해제시된다. 따라서, 실제로프로그램이어떻게돌아가는지에따라 violation rule어기게되더라도큰문제는되지않는다고볼수있다. 다만, 유지, 보수및 source code공유를고려한다면, V001이나 V004와같은부분들도고려해보아야한다. 밑에나열하는 violation은다음과같은취지에서선정해본것들이다. ii. V006, V011, V023: 다음 violation들은보안과관계된부분이므로수정해볼수있다. iii. V012, V018, V021: 다음 violation 들을지킴으로써프로그램의효율성을올릴수있으므로수정해볼수 있다.

20 4. Result I. Sonar를통해서얻은결과들은 System testing처럼오류를잡아내어수정할것을요구하지않는다. 위의분석결과와같이효율성이나보안등과같이프로그램의 quality를높이는데사용할수있는결과들을제공한다. 따라서, 해당결과들을무조건수용하지않고재량에맞게선택적으로수용해야한다. II. Duplication 의경우위에서말한것처럼 duplication 을줄임으로써발생하는 Trade-off 를고려하여 code 수 정을해야한다. III. Coverage의경우도실제수치보다 Unit test가거쳐가야할만한부분을찾아내 Unit test를거치는것이바람직하다. IV. Violation의경우, Source code의가독성과유지및보수에관련된부분들이많으므로, 되도록이면지킬수있도록하는것이바람직하다.

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 SYSTEM TEST & STATIC ANALYSIS 2013 SPRING SOFTWARE VERIFICATION TEAM 1 200711460 이상열 200711470 정재호 201111344 김재엽 201211350 박주광 CONTENTS System Test Customer s View Reference 2013-06-07 2 Functional Analysis

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

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

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

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

[96_RE11]LMOs(......).HWP

[96_RE11]LMOs(......).HWP - i - - ii - - iii - - iv - - v - - vi - - vii - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54

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

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

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

More information

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

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

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

More information

JVM 메모리구조

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

More information

제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장 법률팀장 기

제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장 법률팀장 기 최종보고서 폐기물관리 규제개선방안 연구 ( 업계 건의사항 및 질의사례 중심) 2006. 9 환 경 부 제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장

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

슬라이드 1

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

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

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

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

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

More information

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

More information

*통신1802_01-도비라및목차1~11

*통신1802_01-도비라및목차1~11 ISSN 25-2693 218. 2 218. 2 214 215 216 217 2.6 2.9 1.5 1.8 1.2 3.1 3.2 1.3 2.1 1.8 2.6 2.5 2.8 2.4.4 1.4.9 1.4 1.5 2.9 2.5 7.3 6.9 6.7 6.8 6.9 6.9 6.8 2.8 14 2.6 13 2.4 12 2.2 2. 11 1.8 1.6 1.4

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

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

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

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

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

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

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 정적분석서 - 영단어수집왕 - Team.# 3 과목명 소프트웨어모델링및분석 담당교수 유준범교수님 201011320 김용현 팀원 201111360 손준익 201111347 김태호 제출일자 2015-06-09 1 Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics

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

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

More information

설계란 무엇인가?

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

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 - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

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

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

More information

경제통상 내지.PS

경제통상 내지.PS CONTENTS I 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 II 38 39 40 41 42 43 III 46 47 48 49 50 51 52 53 54 55 56 57 58 59 IV 62 63 64 65 66 67 68 69 V

More information

°æÁ¦Åë»ó³»Áö.PDF

°æÁ¦Åë»ó³»Áö.PDF CONTENTS I 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 II 38 39 40 41 42 43 III 46 47 48 49 50 51 52 53 54 55 56 57 58 59 IV 62 63 64 65 66 67 68 69 V

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

우루과이 내지-1

우루과이 내지-1 U R U G U A Y U r u g u a y 1. 2 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII 3 U r u g u a y 2. 4 Part I Part II Part III Part IV Part V Part VI Part VII Part VIII 5 U r u g u a

More information

제4장 기본 의미구조 (Basic Semantics)

제4장  기본 의미구조 (Basic Semantics) 제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

슬라이드 1

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

More information

세계 비지니스 정보

세계 비지니스 정보 - i - ii - iii - iv - v - vi - vii - viii - ix - 1 - 2 - 3 - - - - - - - - - - 4 - - - - - - 5 - - - - - - - - - - - 6 - - - - - - - - - 7 - - - - 8 - 9 - 10 - - - - - - - - - - - - 11 - - - 12 - 13 -

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

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

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

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

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

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

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

쉽게 풀어쓴 C 프로그래밍

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

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

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

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

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

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

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

i ii iii iv v vi vii viii 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 XXXXXXXX 22 24 25 26 27 28 29 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

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

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

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

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

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

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

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

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

Microsoft PowerPoint - additional06.ppt [호환 모드] 보조자료 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park 복습 : Const 키워드왜사용? C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; //

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

- i - - ii - - i - - ii - - i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 -

More information

CONTENTS.HWP

CONTENTS.HWP i ii iii iv v vi vii viii ix x xi - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 -

More information

INDUS-8.HWP

INDUS-8.HWP i iii iv v vi vii viii ix x xi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

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

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

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

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

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f… Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue

More information

Microsoft PowerPoint - 2강

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

More information

Microsoft PowerPoint - C++ 5 .pptx

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

More information

Java

Java Java http://cafedaumnet/pway Chapter 1 1 public static String format4(int targetnum){ String strnum = new String(IntegertoString(targetNum)); StringBuffer resultstr = new StringBuffer(); for(int i = strnumlength();

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

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

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

More information

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx Development of Fashion CAD System 9. Object Oriented Programming-3 Sungmin Kim SEOUL NATIONAL UNIVERSITY Introduction Topics Object Oriented Programming (OOP) 정의 복수의 pattern object 로 이루어지는 새로운 class Pattern

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

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

Microsoft Word - java19-1-midterm-answer.doc

Microsoft Word - java19-1-midterm-answer.doc 중간고사 담당교수 : 단국대학교응용컴퓨터공학박경신 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤쪽이나연습지에기술한내용은답안으로인정안함. 답에는반드시네모를쳐서확실히표시할것. 답안지에학과, 학번, 이름외에본인의암호 (4자리숫자 ) 를기입하면성적공고시학번대신암호를 사용할것임. 1. 다음질문에답을하라. (55

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

C++-¿Ïº®Çؼ³10Àå

C++-¿Ïº®Çؼ³10Àå C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include

More information

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract 2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract - 31 - 소스코드유사도측정도구의성능에관한비교연구 1. 서론 1) Revulytics, Top 20 Countries for Software Piracy and Licence Misuse (2017), March 21, 2017. www.revulytics.com/blog/top-20-countries-software

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

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

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공 메신저의새로운혁신 채팅로봇 챗봇 (Chatbot) 입문하기 소 이 메 속 : 시엠아이코리아 름 : 임채문 일 : soulgx@naver.com 1 목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper

More information