분류 전체보기 (228) 썸네일형 리스트형 소켓 1. 서버 소켓 서버 소켓은 네트워크상에서 요청이 올 때까지 기다리는 소켓이다. 클라이언트측에서 소켓을 생성하면 호스트 이름과 포트 번호에 해당하는 서버 소켓에 접속이 요청되고, 서버 소켓은 접속을 허가해 준다. 다음은 서버 소켓의 형식이다. ServerSocket myServerSocket = new ServerSocket(2587); 클래스이름 변수 포트번호 서버 소켓에서 클라이언트가 접속해 올 때까지 기다릴 때는 accept() 메소드를 사용한다. accept() 메소드는 접속해 온 클라이언트의 Socket 객체를 돌려준다. 따라서 myServer에 접속하는 클라이언트의 소켓을 얻고 싶을 땐 다음처럼... Socket mySocket = myServerSocket.accept(); 다음은 클라이언트.. URL 클래스 URL 형식 프로토컬://호스트:포트//경로/리소스 이름 URL 클래스의 메소드들 중 openStream() 메소드를 사용하면 인터넷을 통해 리소스를 읽거나 쓸 수 있다. 다음은 openStream() 메소드를 이용해서 URL로부터 직접 정보를 읽어오는 예제이다. openStream() 메소드는 InputStream형 객체를 돌려주는데, 이를 다음 예제처럼 BufferedReader() 메소드의 인수로 넘겨주면 된다. package ch03; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net... 출력 스트림 ※ System.out은 OutputStream 클래스의 객체가 아니고, OutputStream 클래스의 서브클래스인 PrintStream 클래스의 객체이다. 다음은 OutputStreamWriter 클래스를 사용하여 문자열을 출력하는 예제이다. package ch02; import java.io.IOException; import java.io.OutputStreamWriter; public class OutputStreamWriterTest { public static void main(String[] args) { OutputStreamWriter out = new OutputStreamWriter(System.out); try { out.write("배우고 싶지 않은 자바!"); out.flush.. 입력 스트림 다음은 InputStream 클래스의 객체인 System.in에 InputStreamReader 클래스의 객체를 연결하여 키보드로부터 문자열을 입력받는 예제이다. package ch01; import java.io.IOException; import java.io.InputStreamReader; public class InputStreamReaderTest { public static void main(String[] args) { InputStreamReader in = new InputStreamReader(System.in); try { while(true) { int i = in.read(); char myChar = (char)i; System.out.print(myChar); } } catc.. 인터페이스 1. 인터페이스의 개념과 그 문법 "인터페이스의 역할을 한마디로 정리하자면 어떤 클래스에서 특정한 인터페이스를 사용한다면 그 클래스가 반드시 해당 인터페이스에 포함된 메소드를 구현하도록 강제하는 것" 인터페이스의 선언과 구현 package org.opentutorials.javatutorials.interfaces.example1; interface I { public void alpha(); } class A implements I { @Override public void alpha() { // 반드시 구현해야하는 메소드! } } 2. 인터페이스를 사용하는 이유 인터페이스는 일종의 약속이다. 우리 이러이러한 메소드들이 필요한데, alpha메소드의 인자값은 이렇고 리턴타입은 무엇이며... beta메소드.. final "상속이나 변경을 금지하는 규제" final이 붙은 멤버변수에 대해서는 수정할 수가 없겟구나 final이 붙은 메소드에 대해서는 오버라이딩을 할수 없겟네 final이 붙은 클래스는 상속의 대상이 될 수 없음! 접근 제어자 사실 아래 표 하나만 정리가 끝나긴 한다. public protected default private 같은 패키지 같은 클래스 접근가능 접근가능 접근가능 접근가능 같은 패키지 상속 관계 접근가능 접근가능 접근가능 접근불가 같은 패키지 상속 관계 아님 접근가능 접근가능 접근가능 접근불가 다른 패키지 상속 관계 접근가능 접근가능 접근불가 접근불가 다른 패키지 상속 관계 아님 접근가능 접근불가 접근불가 접근불가 자세한 설명을 위한 코드는 책을 통해.. 테이블출처: 생활코딩 Abstract 1. 추상클래스의 문법 abstract class A { // 이렇게 메소드 표준만 구현하고 그 구체적인 내용은 요 메소드를 포함하는 클래스를 상속하는 클래스가 작성! public abstract int alpah(); // 다음은 틀린 문법! /* * public abstract void beta() { System.out.println("hello"); } */ // 추상 클래스내 일반 메소드 작성 가능! public void gamma() { System.out.println("안녕"); } } 이렇게 작성한 A를 구현하는 B는 반드시 구체적인 내용을 작성해야 한다. class B extends A { public int alpah() { return 1; } } main 메소드에서는 추상 클래스인.. 이전 1 ··· 20 21 22 23 다음