본문 바로가기

개발 관련 지식/자바(Java)

[자바] C언어 getch()함수 대체 방법 * C언어 getch()함수 대체 방법 : 먼저 기대하고 왔을 분들에게 죄송하다는 말과 함께 많은 지식인들과 구글 검색을 통해 알아본 결과는 getch()함수를 대체할 함수가 존재하지 않는다는 것입니다. 그렇다고 방법이 아주 없는 것은 아니고, C라이브러리를 사용할 수 있는 JNI를 활용하면 가능합니다. 그 외에는 제가 드릴 수 있는 방법은 없는 듯 싶습니다. 누군가 이를 찾기 위해 고생하는 것을 막기 위해 이미 고생해본 경험자로써 이렇게 글을 남깁니다.. 혹시라도 방법을 찾게 되면 댓글로 남겨주시면 감사하겠습니다~!! 더보기
[자바] C언어 getchar, putchar 함수와 동일한 함수 * C언어 getchar, putchar 함수와 동일한 함수 1. System.in 이용 : System.in.read() / System.out.write() => C언어의 getchar, purchar와 다른점은 아스키코드로 읽고 써진다. [예제]while(true){ System.out.println("문자를 입력하세요:"); int i; try { i = System.in.read(); System.out.println(i); if(i=='e') break; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 2. Scanner와 charAt 함수 이용 : Scanner의 nextLine()함수와.. 더보기
[자바] JSON 사용 방법 * JSON 사용 방법 - 기본적으로 JSON을 사용하기 위해서는 라이브러리(.jar파일) 을 다운로드 해야 한다. > jar파일명 : JSON.simple (json-simple-1.1.1.jar​) > 다운로드 : https://code.google.com/p/json-simple/​ - 문법 설정값 내용 구분자 Object name / value 쌍들의 비순서화된 SET {"name1":"value1", "name2":"value2"} Array 값들의 순서화된 collection ["value1", "value2"] Value Number, String, Boolean, null, Object, Array 사용 가능 - String '"'(큰 따옴표) 안에 둘러싸인 0 이상 unicode 문자들의.. 더보기
[자바] URL 호출 방법 * URL 호출 방법 [URL 호출 예제] public class HttpSendSource { public String urlCall(String requesturl) { URL url = null; String requestMsg = ""; String line = ""; BufferedReader input = null; try {// Request url = new URL(requesturl); // Response input = new BufferedReader(new InputStreamReader(url.openStream())); while((line=input.readLine()) != null){ requestMsg += line; } System.out.println("requestM.. 더보기
[자바] String(문자열) 함수 정리 * String 함수 String st = "abc"; st.compareTo("abc") : 비교해줘 st.charAt(2) : 4번째 인덱스값이 뭐지? st.compareToIgnoreCase("abcdefgh") : 대소문자를 구분하지 말고 비교해줘 st.concat("abc") : abc 문자열을 붙여줘 st.endsWith("FGH") : 문자열이 "FGH" 로 끝나니? st.equals("ABC") : 내용이 같은지 비교해줘 st.equalsIgnoreCase("ABC") : 대소문자 구분하지 말고 내용 비교해줘 st.indexOf('i') : i라는 문자가 몇번째 인덱스 값이니? st.indexOf('i', 7) : 7번 인덱스 이후에 'i'의 값은 뭐니? st.indexOf("is") : .. 더보기
[자바] 예외처리(exception handling) * 프로그램 오류 : 프로그램이 실행 중 어떤 원인에 의해 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이렇나 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 '컴파일 에러(compile-time error)'와 '런타임 에러(runtime error)'로 나눌 수 있는데, 글자 그대로 '컴파일 에러'는 컴파일 할 때 발생하는 에러이고 프로그램의 실행 도중에 발생하는 에러를 '런타임 에러'라고 한다. 자바에서는 실행 시(runtime) 발생할 수 있는 프로그램 오류를 '에러(error)'와 '예외(exception)', 두 가지로 구분하였다. 에러는 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 일단 발생하.. 더보기
[자바] 인터페이스(interface) * 인터페이스(interface) : 인터페이스는 일종의 추상 클래스이다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용하지 않는다. 추상클래스를 부분적으로만 완성된 '미완성 설계도'라고 한다면, 인터페이스는 구현된 것은 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라 할 수 있다. 인터페이스도 추상클래스처럼 완성되지 않은 불완전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. * 인터페이스의 작성 : 인터페이스를 작성하는 것은 클래스를 작성.. 더보기
[자바] 추상 클래스(abstract class) * 추상클래스(abstract class) : 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스로 인스턴스는 생성할 수 없다. 추상클래스는 상속을 통해 자손클래스에 의해서만 완성될 수 있다. 추상클래스 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서 중요한 의미를 갖는다. 새로운 클래스를 작성할 때 아무 것도 없는 상태에서 시작하는 것보다는 완전하지는 못하더라도 어느.. 더보기
[자바] 상속(inheritance) * 상속 : 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. class Child extends Parent{ // ... } 이 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고 상속 받는 클래스를 '자손 클래스'라 한다. 위에 예문에서는 Child 가 '자손 클래스', Parent 가 '조상 클래스'라고 보면 된다. - 조상 클래스 : 부모(parent) 클래스, 상위.. 더보기
[자바] 다형성(polymorphism) * 다형성 : 다형성은 상속과 깊은 관계가 있으므로 학습하기에 앞서 상속에 대해 충분히 알고 있어야 한다. 객체지향개념에서의 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 이를 좀 더 구체적으로 말하자면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. class Tv1{ // Tv의 속성(멤버변수) String color; //색상 boolean power; //전원상태(on/off) int channel; //채널 // Tv의 기능(메서드) void power() { power = !power; } /* TV를 켜거나 끄는 기능을 .. 더보기