programming/java

    [Java] 네트워크 프로그래밍

    20. 네트워크 프로그래밍 20.1 컴퓨터 네트워크 20.2 주요 네트워크 관련 명령어 1) ipconfig2) ping3) nslookup네임서버를 조회하는 명령어4) netstatNETwork STATus, 네트워크 상태 정보5) tracert서비스 경로 추적6) arpIP address와 Mac Address 조회arp -a 20.3 프로토콜(Protocol) 20.3.1 프로토콜 : 서로 다른 컴퓨터 간의 의사소통을 위한 통신 규약 20.3.2 프로토콜의 종류 TELNET : 텍스트 기반의 원격접속 서비스IP (Internet Protocol)TCP (Transmission Control Protocol)UDP (User Datagram Protocol)FTP (File Transfer Proto..

    [Java] GUI 프로그래밍

    17. GUI 프로그래밍 17.1 자바의 GUI 프로그래밍 기술 TUI - Text-based User Interface 텍스트 기반의 인터페이스GUI - Graphical User Interface 그래픽 기반의 인터페이스 17.1.1 AWT(Abstract Window Toolkit) GUI 프로그래밍을 위한 도구GUI 프로그래밍에 필요한 다양한 컴포넌트를 제공Java와 C로 구현 17.1.2 SwingAWT를 확장한 GUI 프로그래밍 도구AWT보다 더 많은 종류의 컴포넌트를 제공순수한 Java로 구현 17.2 화면 구성 요소 17.2.1 Component와 Container - Component : 화면 구성 요소- Container : 다른 컴포넌트를 담을 수 있는 컴포넌트(그릇 역할) 17.2...

    [Java] 그래픽 처리

    1. 그래픽 처리 컴포넌트에 그림을 그리려면 paint()를 알맞게 오버라이딩한다. public void paint(Graphics g) {...} 모든 컴포넌트에는 Graphics 객체가 있으며 getGraphics()로 얻을 수 있다. Panel p = new Panel(); Graphics g = p.getGraphics();g.drawLine(0, 0, 10, 10); // Panel에 두 점 (0, 0)과 (10, 10)을 잇는 선을 그린다. Graphics 클래스는 그래픽 처리를 위한 다양한 메서드를 제공 다음과 같은 경우 paint()가 자동호출되어 화면이 갱신된다. · 처음 화면에 나타날 때 · 다른 화면에 가려져 있던 부분이 다시 화면에 나타날 때· 아이콘화 되어 있다가 원래 크기로 화면..

    [Java] 입출력

    1. 스트림(Stream) 2. 입출력 방법 2.1 Stream(스트림) - 데이터의 논리적인 흐름 2.2 byte 단위 입출력(한글은 2byte가 한글자로 구성됨)가) InputStream (입력스트림)나) OutputStream (출력스트림) 3.3 문자 단위 입출력가) InputStreamReader나) OutputStreamWriter 3.4 buffer를 이용한 입출력가) BufferedReader나) BufferedWriter 3. 입출력 스트림 계층 구조 13;45 4. Unicode와 ASCII code 4.1 유니코드(Unicode)16비트(2바이트) 기반의 다국적 문자 체계전세계 대부분의 문자를 수용 : 다국어 처리에 효과 4.2 미국정보교환표준부호(American Standard Co..

    [Java] Multil Thread(멀티스레드)

    1. 프로세스(Process)와 스레드(Thread) '''스레드의 뜻은 거미줄, 실타래라는 뜻이다. 스레드라는 건 작업 단위를 말한다. 1.1 작업관리자에서 프로세스와 스레드 확인Ctrl+Alt+Del - 작업 관리자 - 성능 탭에서 스레드를 확인 16.1.2 프로세스(Process)와 스레드(Thread) 프로세스(Process) : 실행중인 프로그램스레드(Thread) : 프로세스 내에서의 작업 단위 16.1.3 프로세스의 메모리 구조 '''프로그램을 돌리게 되면 그 안에 변수나 메서드 등의 코드가 코드 영역에 올라가고, static variables가 데이터 영역에 들어간다. 2. Single Thread와 Multi Thread "하나의 새로운 프로세스를 생성하는 것보다하나의 새로운 Thread..

    [Java] 유용한 클래스들

    13. 유용한 클래스들 13.1 Object class 자바의 최상위 클래스. 11개의 method가 지원됨https://docs.oracle.com/javase/8/docs/api/ 13.2 String class 13.2.1 문자열은 문자배열(char[])로 처리됨 13.2.2 String은 객체자료형이지만 자주 사용되므로 new를 생략할 수 있음// String str = new String("hello");String str = "hello"; 13.2.3 String의 내용 비교A.equals(B)A == B (주소값을 비교하므로 부정확한 결과가 나올 수 있음) (image) 13.2.4 String의 사용 방법13.2.4.1 new 연산자를 사용하지 않을 경우 Heap 내부의 String Co..

    [Java] 내부 클래스

    12. 내부 클래스 가. 내부(중첩) 클래스(inner class, nested class) '웹 개발자들은 내부 클래스를 쓸 일이 거의 없지만, 안드로이드 프로그래밍은 자주 사용하고, 윈도우즈 프로그래밍도 종종 사용합니다. ''' 자바는 decompile이 가능합니다. compile: source → object code(기계어) decompile: object code → source (= disassemble) ex. A.java → A.class (x) A.class → A.java (o) 내부 클래스를 쓰면 좀 숨겨집니다. ''' 1) 내부 클래스의 정의 클래스 안에 선언된 클래스 특정 클래스 내에서만 주로 사용되는 클래스를 내부 클래스로 선언한다. GUI 애플리케이션(AWT, Swing)의 이..

    [Java] class(추상화)

    11. class(추상화) 가. 객체지향프로그래밍의 4대 특성 추상화캡슐화 다형성상속성 나. 추상화 1) 객체에서 공통된 속성과 행위를 추출하는 것 image'클래스는 속성과 독장이다. 2) 자바 프로그램에서의 추상화가) 추상클래스1개 이상의 추상 메서드나) 인터페이스모두 추상 멤버 image 다. 추상 클래스(abstract class) 1) abstract method(미완성 메서드)를 포함하고 있는 클래스abstract method : 선언부만 있고 구현부(body)가 없는 메서드 2) 추상클래스는 인스턴스를 생성할 수 없다. 3) 추상클래스를 상속받는 자식클래스에서 abstract method를 완성해야 함 4) 코드의 공통적인 부분을 제시하고 표준화하기 위한 용도로 활용됨 abstract cla..

    [Java] static, final, 다형성

    10. static, final, 다형성 가. static 1) static 정지상태, 고정적인, 변화가 없는 '프로그래밍 언어에서' static의 반대말 : dynamic(필요할 때 만들었다가 필요 없을 때 사라지는 것) 2) static member static variable(정적 변수) 어디서든 공유해서 사용할 수 있는 변수 static method(정적 메서드) 3) static member의 특성 프로그램이 실행되면 메모리(클래스 영역)에 자동으로 로딩됨 프로그램이 끝날 때까지 메모리에 상주함 static method에서는 static member만 사용 가능함 public class Test { static int a; // static member int b; // nonstatic mem..

    [Java] Class(상속)

    9. class(상속) 가. 상속(inheritance) 1) 상속의 정의 class 자식클래스 extends 부모클래스 {// ...} 기존의 클래스를 확장하여 새로운 클래스를 작성하는 것(코드 재사용)두 클래스를 부모와 자식으로 관계를 맺어주는 것자식은 부모의 모든 멤버를 상속받는다(생성자와 private 제외, protected는 가능함)1개의 클래스만 상속받을 수 있음(다중상속 금지)부모클래스(기본클래스, Parent)자식클래스(파생클래스, Child) (image) 2) 다중상속자바에서는 다중상속이 금지됨(C++에서는 가능) ' 왜 자바에서는 없어졌느냐? 상속받는 두 부모클래스에 같은 print()라는 메서드가 있다면 어느 부모 클래스의 print() 메서드인지 모호하기 때문이고, 자식클래스가 ..