부록부록 1 1. 자바 9의특징 2. 자바 10의특징 3. 이클립스플러그인설치와 Amateras Modeler 사용 4. 외부라이브러리추가와 logback 사용

Size: px
Start display at page:

Download "부록부록 1 1. 자바 9의특징 2. 자바 10의특징 3. 이클립스플러그인설치와 Amateras Modeler 사용 4. 외부라이브러리추가와 logback 사용"

Transcription

1 1 1. 자바 9의특징 2. 자바 10의특징 3. 이클립스플러그인설치와 Amateras Modeler 사용 4. 외부라이브러리추가와 logback 사용

2 2 Java 프로그래밍 1. 자바 9 의특징 1.1 프로젝트직소 (Jigsaw) 의모듈시스템 (1) 모듈시스템 [ 그림 17.1] 의존성지옥

3 3 (2) System library의모듈화 [ 그림 17.2] 자바 8 과자바 9 의 System Library 구성비교

4 4 Java 프로그래밍 [ 그림 17.3] 모듈화된 JDK ( 자료출처 : (3) 모듈 모듈이름은모듈을나타내는유일한값으로일반적인패키지작명법에근거해서작성한다. export는현재의모듈을다른외부모듈에서사용할수있도록공개하는패키지를의미한다. 클래스가 public이라고할지라도 export에등록되지않으면외부에서는이클래스에접근할수없다. requires는현재의모듈과의존관계가있는다른모듈의이름들이다. (4) 간단한모듈테스트

5 5 [com.acme.calculator.api.close.minusmodule.java] 1 package com.acme.calculator.api.close; 2 3 public class MinusModule { 4 public double minus(double num1, double num2) { 5 return num1 - num2; 6 } 7 } [com.acme.calculator.api.open.plusmodule.java] 1 package com.acme.calculator.api.open; 2 3 public class PlusModule { 4 public double add(double num1, double num2) { 5 return num1 + num2; 6 } 7 } [com.acme.calculator.internal.addmoduleinternalclient.java] 1 package com.acme.calculator.internal; 2 // 내부에서의접근은문제없음 3 import com.acme.calculator.api.open.plusmudule; 4 import com.acme.calculator.api.close.minusmodule; 5 6 public class AddModuleInternalClient { 7 public static void main(string[] args) { 8 PlusMudule pmodule = new PlusMudule(); 9 System.out.println(pModule.add(100, 100)); MinusModule mmosule = new MinusModule(); 12 System.out.println(mMosule.minus(100, 100)); 13 } 14 }

6 6 Java 프로그래밍 [module-info.java] 1 module com.acme.calculator { 2 exports com.acme.calculator.api.open; 3 } 1 행모듈의이름이 com.acme.calculator 인모듈을선언한다. 2 행 com.acme.calculator.api.open 패키지를 exports 에등록한다. 따라서 PlusModule 은외부로노출된다. [module-info.java] 1 module com.acme.jigsawuser { 2 exports com.acme.jigsawuser; 3 requires com.acme.calculator; 4 } 1행 모듈의이름이 com.acme.jigsawuser인모듈을생성한다. 2행 com.acme.jigsawuser 패키지를 exports 해서외부에서사용할수있게한다. 3행 requires에 com.acme.calculator 모듈을등록한다. 이모듈은앞서생성한 jigsaw_module의모듈이름이다.

7 7 [com.acme.jigsawuser. JigSawClient.java] 1 package com.acme.jigsawuser; 2 3 //import com.acme.calculator.api.close.minusmodule; 4 import com.acme.calculator.api.open.plusmodule; 5 6 public class JigSawClient { 7 public static void main(string[] args) { 8 PlusModule pmodule = new PlusModule(); 9 System.out.println(pModule.add(100, 100)); //MinusModule mmodule = new MinusModule(); 12 } 13 } 8-9행모듈참조를통해 jigsaw_module에있는 PlusModule을참조하고사용하는데아무런문제가없다. 11행 MinusModule는 jigsaw_module의 public 클래스임에도불구하고 exports 항목에등록되어있지않기때문에외부에서참조할수없다.

8 8 Java 프로그래밍 1.2 새로추가된개발도구 (1) jshell 등장 (2) HTML5 기반의 Javadoc 생성 html4: HTML 4.01 형식의 Javadoc 생성 html5: HTML 5 형식의 Javadoc 생성 javadoc -html5 -encoding utf-8 -sourcepath./src -subpackages ch02 -d./doc 1.3 프로그래밍방식변경 (1) try ~ with ~ resource 문의개선

9 9 void trywithresourcesbyjava7() throws IOException { //try() 외부에서생성된객체 BufferedReader reader1 = new BufferedReader(new FileReader("test.txt")); // try() 에별도의객체선언후할당해야자동 close 처리 try (BufferedReader reader2 = reader1) { // do something } } void trywithresourcesbyjava9() throws IOException { BufferedReader reader = new BufferedReader(new FileReader("test.txt")); try (reader) { // do something } } (2) 인터페이스에 private 메서드추가가능 [etc.privatemethod.privatemethodtest.java] 1 package etc.privatemethod; 2 3 interface SomeInterface { 4 static void methoda() { 5 internalcommonmethod(); 6 } 7 8 static void methodb() { 9 internalcommonmethod(); 10 } private static void internalcommonmethod() { 13 // 공통처리 14 } 15 }

10 10 Java 프로그래밍 public class PrivateMethodTest { public static void main(string[] args) { 20 SomeInterface.methodA(); 21 SomeInterface.methodB(); 22 } 23 } (3) Diamond Operator 의개선 List<String> strs = new ArrayList<>(); Comparable<String> comp = new Comparable<String>() public int compareto(string o) { return 0; } }; Comparable<String> comp = new Comparable<>() public int compareto(string o) { return 0; } }; 1.4 새로추가된코어라이브러리 (1) 불변의 List, Set, Map, Map.Entry를만들기위한팩토리메서드제공

11 11 List<Character> list = new ArrayList<Character>(); list.add('x'); // 리스트를수정불가하게만듬 List<Character> immutablelist = Collections.unmodifiableList(list); immutablelist.add('z');// java.lang.unsupportedoperationexception [etc.immutablecollection.immutablecollectiontest.java] 1 package etc.immutablecollection; 2 3 import java.util.list; 4 import java.util.map; 5 6 public class ImmutableCollectionTest { 7 8 public static void main(string[] args) { 9 List<Object> emptyimmutablelist = List.of(); 10 // UnsupportedOperationException 11 // emptyimmutablelist.add("hello"); 12 System.out.println(emptyImmutableList); List<String> notemptyimmutablelist = List.of("Hello Immutable List"); 15 System.out.println(notEmptyImmutableList); Map<Object, Object> emptyimmutablemap = Map.of(); 18 System.out.println(emptyImmutableMap); 19 Map<Integer, String> notemptyimmutablemap = 20 Map.of(1, "one", 2, "two", 3, "three"); 21 System.out.println(notEmptyImmutableMap); 22 } 23 } 실행결과 [] [Hello Immutable List] {} {2=two, 3=three, 1=one}

12 12 Java 프로그래밍 (2) Process 관련 API의개선 [etc.processapi.processapitest.java] 1 package etc.processapi; 2 3 import java.util.optional; 4 5 public class ProcessAPITest { 6 public static void main(string[] args) { 7 ProcessHandle currentprocess = ProcessHandle.current(); 8 System.out.println("Current Process Id: = " + currentprocess.pid()); 9 Optional<String> user = currentprocess.info().user(); 10 user.ifpresent(system.out::println); 11 } 12 } (3) CompletableFuture API의개선 [API] public static Executor delayedexecutor(long delay, TimeUnit unit) [ 활용예 ] Executor exe = CompletableFuture.delayedExecutor(50L, TimeUnit.SECONDS);

13 13 [API] public CompletableFuture<T> ortimeout(long timeout, TimeUnit unit) [ 활용예 ] int TIMEOUT = 3; CompletableFuture<String> future = fiveminutework("5 분정도걸립니다.").orTimeout(TIMEOUT, TimeUnit.SECONDS).whenComplete((result, error) -> { if (error == null) { System.out.println("The result is: " + result); } else { System.out.println(TIMEOUT + " 이지났습니다."); } }); [API] public CompletableFuture<T> completeontimeout(t value, long timeout, TimeUnit unit) [ 활용예 ] int TIMEOUT = 3; CompletableFuture<String> future = fiveminutework("5 분정도걸립니다.").completeOnTimeout("JavaTechnology", TIMEOUT, TimeUnit.SECONDS).whenComplete((result, error) -> { if (error == null) { System.out.println("The result is: " + result); } else { // 이문장은절대호출되지않음 System.out.println(TIMEOUT + " 이지났습니다."); } }); (4) ReactiveStream API 추가 java.util.concurrent.flow java.util.concurrent.flow.publisher

14 14 Java 프로그래밍 java.util.concurrent.flow.subscriber java.util.concurrent.flow.processor (5) Optional 클래스강화 [API] public Stream<T> stream() [ 활용예 ] List<Object> list = Stream.of(Optional.empty(), Optional.of("one"), Optional.of("two"), Optional.of("three")).flatMap(Optional::stream).collect(Collectors.toList()); System.out.println(list); [API] public void ifpresentorelse(consumer<? super T> action, Runnable emptyaction) [ 활용예 ] Optional<Integer> max = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10).max(Integer::compare); max.ifpresentorelse(x -> System.out.println(" 최대값 : " + x), () -> System.out.println(" 원하는값이없습니다.") ); (6) 스트림 API 추가

15 15 [API] public static IntStream iterate(int seed, IntPredicate hasnext, IntUnaryOperator next) [ 활용예 ] IntStream.iterate(1, i -> i < 20, i -> i * 2).forEach(System.out::println); //1, 2, 4, 8, 16 [API] default Stream<T> takewhile(predicate<? super T> predicate) [ 활용예 ] // 순차스트림의경우 Stream.of(1, 2, 3, 4, 5, 6).takeWhile(i -> i <= 3).forEach(System.out::println); // 1, 2, 3 // 비순차스트림의경우 Stream.of(1, 6, 5, 2, 3, 4).takeWhile(i -> i <= 3).forEach(System.out::println); // 1 [API] default Stream<T> dropwhile(predicate<? super T> predicate) [ 활용예 ] // 순차스트림의경우 Stream.of(1, 2, 3, 4, 5, 6).dropWhile(i -> i <= 3).forEach(System.out::println); // 4, 5, 6 // 비순차스트림의경우 Stream.of(1, 6, 5, 2, 3, 4).dropWhile(i -> i <= 3).forEach(System.out::println); // 6, 5, 2, 3, 4

16 16 Java 프로그래밍 [API] public static<t> Stream<T> ofnullable(t t) [ 활용예 ] Map<Integer, String> mapnumber = new HashMap<>(); mapnumber.put(1, "One"); mapnumber.put(2, "Two"); mapnumber.put(null, null); List<String> newstringnumbers = Stream.of(null, 1, 2, 3).flatMap(s -> Stream.ofNullable(mapNumber.get(s))).collect(Collectors.toList()); System.out.println(newstringNumbers); // [One, Two] 2. Java 10 의특징 [ 그림 17.4] JDK release 계획 ( 출처 :

17 로컬변수에대한타입추정가능 List<String> strlist = new ArrayList<>(); public class UseVar { public static void main(string[] args) { var num = 10; System.out.println(num); // 10 var str = "Hello"; System.out.println(str.getClass().getName()); // java.lang.string } } var list = new ArrayList<String>(); System.out.println(list.getClass().getName()); // java.util.arraylist 2.2 가비지컬렉션관련개선사항 (1) G.C 인터페이스적용

18 18 Java 프로그래밍 (2) G1 G.C의병렬처리지원 2.3 기타 (1) 대안의메모리장치에힙메모리할당가능 (2) 개발을효율화하기위해 JDK Forest( 포레스트 ) 저장소를하나의저장소로통합 / 강화 (3) JDK에서루트인증서제공 (4) Java 기반의 JIT 컴파일러

19 19 3. 이클립스플러그인 (Plugin) 설치와 Amateras Modeler 사용 직접설치하는경우 : 플러그인배포사이트에직접접속해서플러그인파일을다운로드한뒤에사용자가이클립스에설치할수있다. 플러그인의 update site 정보를사용하는경우 : 각플러그인의 location 정보를 URL 형태로작성하고네트워크를통해서플러그인파일을다운로드하여설치할수있다. Eclipse Market Place에등록된경우 : 가장마지막에추가된방식으로추가될플러그인에대한상세정보와다른개발자들의선호도까지확인할수있다. 3.1 Amateras Modeler 설치 [ 그림 17.5] Available Software 확인화면

20 20 Java 프로그래밍 [ 그림 17.6] update site 등록화면 [ 그림 17.7] update site 정보가등록된후 Available Software 화면 [ 그림 17.8] 보안에대한경고및확인화면

21 21 [ 그림 17.9] 플러그인설치확인 [ 그림 17.10] 파일위치지정및파일명지정

22 22 Java 프로그래밍 [ 그림 17.11] 클래스다이어그램작성도구모음 select : 편집창에서개별개체를선택하는기능제공 Marque : 편집창에서다수의개체를선택하는기능제공 Note : 상세설명을붙이는 note를작성하기위한기능제공 Anchor to Note : Note와개체간의연결링크를만드는기능제공 Class : Class를정의하는기능제공 Enum : Enum을정의하는기능제공 Interface : Interface를정의하는기능제공 Dependency : 의존관계를설정하는기능제공 Association : 연관관계를설정하는기능제공 Generalization : 클래스간상속관계를설정하는기능제공 Realization : 인터페이스에대한구현임을설정하는기능제공 Aggregation : 집합연관관계를설정하는기능제공 Composition : 복합연관관계를설정하는기능제공

23 Amateras Modeler 를이용해 Class Diagram 작성 [ 그림 17.12] Class 개체에멤버변수추가 [ 그림 17.9] 이클립스의가시성표현

24 24 Java 프로그래밍 [ 그림 17.13] 메서드의파라미터설정화면 [ 그림 17.14] Class 개체에메서드추가 [ 그림 17.15] Class 개체에생성자추가

25 25 [ 그림 17.16] Generalization 을이용한상속관계의표현 [ 그림 17.17] Realization 을이용한구현관계표현 [ 그림 17.18] Aggregation 을이용한연관관계표현

26 26 Java 프로그래밍 (1) 클래스다이어그램을통한코드생성 [ 그림 17.19] Java Source 코드로의 export 메뉴 [ 그림 17.20] Java Code 생성화면 [Person.java] 1 public class Person { 2 private String name; 3 public int id; 4 5 public void setname(string name) { 6 } 7 8 public String printinfo() { 9 return null; 10 } public Person(String name, int id) { 13 } 14 }

27 27 (2) 역공학 (Reverse Engineering) 으로기존의클래스를이용한클래스다이어그램생성 [ 그림 17.21] 클래스를기반으로생성된클래스다이어그램 4. 외부라이브러리추가와 logback 사용

28 28 Java 프로그래밍 4.1 logback 소개및설치 click 1 click 2 [ 그림 17.22] logback 다운로드페이지 logback-classic jar logback-core jar slf4j-api jar [ 그림 17.23] logback 패키지구성 (1) 이클립스에라이브러리등록

29 29 [ 그림 17.24] User Library 등록 1 [ 그림 17.25] User Library 등록 2 [ 그림 17.26] User Library 등록 3

30 30 Java 프로그래밍 [ 그림 17.27] User Library 등록 4 [ 그림 17.28] User Library 등록 5 [ 그림 17.29] User Library 사용 1

31 31 [ 그림 17.30] User Library 사용 2 [ 그림 17.31] User Library 사용 logback 사용 [ 표 17.1] LoggerFactory 의주요메서드 메서드명 getlogger() 선언부와설명 public static Logger getlogger(class<?> clazz) clazz 에서사용될 Logger 객체를리턴한다. public static Logger getlogger(string name) name 클래스에서사용할 Logger 객체를리턴한다.

32 32 Java 프로그래밍 [ 표 17.2] Logger 의주요메서드 메서드명 선언부와설명 trace() debug() info() warn() error() public void trace(string format, Object... arguments) TRACE 레벨의로그를남긴다. format 에는출력될로그의형식을지정할수있 으며 {} 를이용해 argument 를받을수있다. format 에표시된 {} 의개수는 arguments 의개수와동일해야한다. public void debug(string format, Object... arguments) DEBUG 레벨의로그를남긴다. format 과 arguments 내용은 trace 와동일하다. public void info(string format, Object... arguments) INFO 레벨의로그를남긴다. format 과 arguments 내용은 trace 와동일하다. public void warn(string format, Object... arguments) WARN 레벨의로그를남긴다. format 과 arguments 내용은 trace 와동일하다. public void error(string format, Object... arguments) ERROR 레벨의로그를남긴다. format 과 arguments 내용은 trace 와동일하다. public void error(string msg, Throwable t) ERROR 레벨의로그를남긴다이때 msg 와 t 에대한 printstacktrace() 가동작 한다. [etc.logback.logbacktest.java] 1 package etc.logback; 2 3 import org.slf4j.logger; 4 import org.slf4j.loggerfactory; 5 6 public class LogbackTest { 7 private static final Logger logger = 8 LoggerFactory.getLogger(LogbackTest.class); 9 public static void main(string[] args) { 10 logger.trace("trace msg{}, {}", "trace1", "trace2"); 11 logger.debug("debug msg{}, {}", "param1", "debug2"); 12 logger.info("info msg{}, {}", "info1", "info2"); 13 logger.warn("warn msg{}, {}", "warn1", "warn2"); 14 logger.error("error msg{}, {}", "error1", "error2"); 15 } 16 } 실행결과 22:09: [main] DEBUG etc.logback.logbacktest - debug msgparam1, debug2 22:09: [main] INFO etc.logback.logbacktest - info msginfo1, info2 22:09: [main] WARN etc.logback.logbacktest - warn msgwarn1, warn2 22:09: [main] ERROR etc.logback.logbacktest - error msgerror1, error2

33 33 7 행로깅을위해 LoggerFactory 를통해 Logger 를획득한다 행 trace 에서 error 까지로그를출력한다. 4.3 logback 설정 <?xml version="1.0" encoding="utf-8"?> <configuration> <property/> <appender>...</appender> <root>...</root> <logger>...</logger> </configuration> (1) <property> \ <property name="dev_home" value="c:/temp" /> (2) <appender>

34 34 Java 프로그래밍 <appender name="stdout" class="ch.qos.logback.core.consoleappender"> <encoder> <pattern>[%d{yy-mm-dd HH:mm:ss}] [%5p] [%thread] [%c{1}.%m-%3l] %m %n</pattern> </encoder> </appender> %d{yy-mm-dd HH:mm:ss} : 로그를출력하는시간표시형식 %5p : 로그의레벨을총 5글자로나타냄 %thread : 현재스레드이름 %c{1} : 패키지를포함한클래스이름을표시함단패키지이름은 1글자씩만표시 %M : 메서드이름 %3L : 행번호를최소한 3자리로표시 %m : 메시지 %n : 줄바꿈표시 <property name="dev_home" value="c:/temp" /> <appender name="dailyfile" class="ch.qos.logback.core.rolling.rollingfileappender"> <file>${dev_home}/logfile.log</file> <rollingpolicy class="ch.qos.logback.core.rolling.timebasedrollingpolicy"> <filenamepattern>/log/logfile.%d{yyyy-mm-dd}.log</filenamepattern> <maxhistory>30</maxhistory> </rollingpolicy> <encoder> <pattern>[%d{yy-mm-dd HH:mm:ss}] [%5p] [%thread] [%c{1}.%m-%3l] %m %n</pattern> </encoder> </appender>

35 35 (3) <root> <root level="trace"> <appender-ref ref="stdout" /> <appender-ref ref="dailyfile" /> </root> (4) <logger> <logger name="org.springframework" level="trace"> <appender-ref ref="dailyfile" /> <appender-ref ref="stdout" /> </logger> [logback.xml] 1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <!-- 콘솔로그 --> 4 <appender name="stdout" 5 class="ch.qos.logback.core.consoleappender"> 6 <encoder> 7 <pattern> 8 [%d{yy-mm-dd HH:mm:ss}] [%5p] [%thread] 9 [%c{1}.%m-%3l] %m %n 10 </pattern> 11 </encoder> 12 </appender>

36 36 Java 프로그래밍 <!-- 날짜별로그 --> 15 <property name="dev_home" value="c:/temp" /> 16 <appender name="dailyfile" 17 class="ch.qos.logback.core.rolling.rollingfileappender"> 18 <file>${dev_home}/logfile.log</file> 19 <rollingpolicy 20 class="ch.qos.logback.core.rolling.timebasedrollingpolicy"> 21 <filenamepattern> 22 /log/logfile.%d{yyyy-mm-dd}.log</filenamepattern> 23 <maxhistory>30</maxhistory> 24 </rollingpolicy> 25 <encoder> 26 <pattern> 27 [%d{yy-mm-dd HH:mm:ss}] [%5p] [%thread] 28 [%c{1}.%m-%3l] %m %n 29 </pattern> 30 </encoder> 31 </appender> <!-- root 로거기본설정 --> 34 <root level="trace"> 35 <appender-ref ref="stdout" /> 36 <appender-ref ref="dailyfile" /> 37 </root> <!-- 특정로거설정 --> 40 <logger name="org.springframework" level="trace"> 41 <appender-ref ref="dailyfile" /> 42 <appender-ref ref="stdout" /> 43 </logger> 44 </configuration> 4.4 logback.xml 적용확인 실행결과 [ :17:42] [TRACE] [main] [e.l.logbacktest.main- 10] trace msg - trace1, trace2 [ :17:42] [DEBUG] [main] [e.l.logbacktest.main- 11] debug msg - param1, debug2 [ :17:42] [ INFO] [main] [e.l.logbacktest.main- 12] info msg - info1, info2 [ :17:42] [ WARN] [main] [e.l.logbacktest.main- 13] warn msg - warn1, warn2 [ :17:42] [ERROR] [main] [e.l.logbacktest.main- 14] error msg - error1, error2 \

37 37 <root level="info"> <appender-ref ref="stdout" /> <appender-ref ref="dailyfile" /> </root> 실행결과 [ :25:10] [ INFO] [main] [e.l.logbacktest.main- 12] info msg - info1, info2 [ :25:10] [ WARN] [main] [e.l.logbacktest.main- 13] warn msg - warn1, warn2 [ :25:10] [ERROR] [main] [e.l.logbacktest.main- 14] error msg - error1, error2

PowerPoint 프레젠테이션

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

More information

PowerPoint 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

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

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

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

JAVA PROGRAMMING 실습 08.다형성

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

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

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

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

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

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

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

More information

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

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

More information

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

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

More information

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

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

제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

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

쉽게 풀어쓴 C 프로그래밊

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

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

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

More information

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

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

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

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

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

More information

PowerPoint Presentation

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

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

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

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

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

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

JVM 메모리구조

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

More information

PowerPoint Presentation

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

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

교육자료

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

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

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

More information

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 프레젠테이션

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

Cluster management software

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void

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

자바 프로그래밍

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

어댑터뷰

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

More information

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

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

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

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

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

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

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

신림프로그래머_클린코드.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

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

ch09

ch09 9 Chapter CHAPTER GOALS B I G J A V A 436 CHAPTER CONTENTS 9.1 436 Syntax 9.1 441 Syntax 9.2 442 Common Error 9.1 442 9.2 443 Syntax 9.3 445 Advanced Topic 9.1 445 9.3 446 9.4 448 Syntax 9.4 454 Advanced

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

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

5장.key

5장.key JAVA Programming 1 (inheritance) 2!,!! 4 3 4!!!! 5 public class Person {... public class Student extends Person { // Person Student... public class StudentWorker extends Student { // Student StudentWorker...!

More information

PowerPoint 프레젠테이션

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

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

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?

More information

Apache Ivy

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

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

쉽게 풀어쓴 C 프로그래밍

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

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

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

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

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

JAVA PROGRAMMING 실습 02. 표준 입출력

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

More information

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

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

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

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

Microsoft PowerPoint - 2강

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

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 2015 학년도 2 학기 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

More information

Java XPath API (한글)

Java XPath API (한글) XML : Elliotte Rusty Harold, Adjunct Professor, Polytechnic University 2006 9 04 2006 10 17 문서옵션 제안및의견 XPath Document Object Model (DOM). XML XPath. Java 5 XPath XML - javax.xml.xpath.,? "?"? ".... 4.

More information

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

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

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

PowerPoint 프레젠테이션

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

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

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

PowerPoint 프레젠테이션

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

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

gnu-lee-oop-kor-lec11-1-chap15

gnu-lee-oop-kor-lec11-1-chap15 어서와 Java 는처음이지! 제 15 장컬렉션 컬렉션 (collection) 은자바에서자료구조를구현한클래스 자료구조로는리스트 (list), 스택 (stack), 큐 (queue), 집합 (set), 해쉬테이블 (hash table) 등이있다. 자바는컬렉션인터페이스와컬렉션클래스로나누어서제공한다. 자바에서는컬렉션인터페이스를구현한클래스도함께제공하므로이것을간단하게사용할수도있고아니면각자필요에맞추어인터페이스를자신의클래스로구현할수도있다.

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

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

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

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

PowerPoint 프레젠테이션

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

More information

슬라이드 1

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

mytalk

mytalk 한국정보보호학회소프트웨어보안연구회 총괄책임자 취약점분석팀 안준선 ( 항공대 ) 도경구 ( 한양대 ) 도구개발팀도경구 ( 한양대 ) 시큐어코딩팀 오세만 ( 동국대 ) 전체적인 그림 IL Rules Flowgraph Generator Flowgraph Analyzer 흐름그래프 생성기 흐름그래프 분석기 O parser 중간언어 O 파서 RDL

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

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

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

( )부록

( )부록 A ppendix 1 2010 5 21 SDK 2.2. 2.1 SDK. DevGuide SDK. 2.2 Frozen Yoghurt Froyo. Donut, Cupcake, Eclair 1. Froyo (Ginger Bread) 2010. Froyo Eclair 0.1.. 2.2. UI,... 2.2. PC 850 CPU Froyo......... 2. 2.1.

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

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

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