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 작업 관리자에서 프로세스와 스레드 확인 1.1.2 프로세스(process)와 스레드(thread) 프로세스(process): 실행 중인 프로그램 스레드(thread): 프로세스 내 작업 단위 1.1.3 프로세스의 메모리 구조 2. 싱글 스레드(Single Thread)와 멀티 스레드(Multi Thread) 3. 멀티 스레드를 사용해야 하는 경우 3.1 GUI 프로그래밍 GUI 프로그래밍에서는 main 스레드에서만 UI 를 그리거나 갱신할 수 있음 3.2 시간이 오래 걸리는 작업 시간이 오래 걸리는 작업의 경우 ANR(Application Not Responding) 현상을 방지하기 위해 백..
[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] 프로젝트 기획 및 설계
23. 프로젝트 기획 및 설계 1. 소프트웨어 공학(Software Engineering) 1.1 소프트웨어의 개발, 운용, 유지보수 등의 생명 주기 전반을 체계적이고 서술적이며 정량적으로 다루는 학문1.2 즉, 공학을 소프트웨어에 적용하는 것 2. 정보시스템 개발 프로세스 폭포수 모델(Waterfall Model) : 요구사항 정의 및 분석, 시스템 설계, 구현, 테스팅이라는 일련의 단계를 통해 소프트웨어(시스템)를 개발하는 모델 3. 요구공학(Requirements Engineering) : 요구사항을 정의하고 문서화하고 관리하는 프로세스 3.1 현행 시스템 분석하기3.1.1 현행 시스템 파악- 현행 시스템 파악 : 현행 시스템의 하위 시스템, 제공하는 기능, 기술요소, 사용하는 소프트웨어 및 하드웨..
[Java] Generic And Collection
14. 제네릭과 컬렉션 가. 일반화(Generic) 다양한 자료형의 데이터를 처리하기 위해서는 일반화(Generic) 작업이 필요함 나. 컬렉션(Collection) 1) 컬렉션이란?가) 집합데이터(다수의 데이터, 데이터 그룹)을 의미함나) 집합데이터를 저장할 수 있는 자료형배열컬렉션 클랙스(collection class)ex. ArrayList, HashSet, HashMap 다) 컬렉션 클래스들은 배열의 단점을 보완하기 위해 만들어짐라) 자료 구조들에 대한 알고리즘이 미리 구현되어 있음(Stack, LinkedList, Sort 등) 2) 자료형의 발전 과정변수 : 1개의 자료만 저장배열 : 여러 개의 자료 저장 가능(같은 자료형)구조체 : 다양한 자료형을 저장(Java에는 없음)클래스 : 다양한 자..
[Java] 예외처리
15. 예외처리 15.1 예외 처리(Exception Handling) 15.1.1 예외처리란? 프로그램이 실행되는 동안 특정한 문제가 일어났을 때 처리를 중단하고 다른 처리를 하는 것 15.1.2 예외가 발생하는 원인 15.1.2.1 시스템 장애 네트워크 오류 사용권한 문제 15.1.2.2 사용자의 입력 실수 존재하지 않는 파일 이름 입력 숫자값 입력란에 일반 문자 입력 받아들일 수 없는 연산 15.1.2.3 에러, 경고, 예외 Error: 컴파일이 안됨 Warning: 실행은 되지만 성능 저하 등의 문제가 발생 가능성 Exception: 컴파일과 실행은 되지만 프로그램이 비정상적으로 종료되는 경우 15.1.2.4 예외 처리를 하는 경우 선택적인 예외 처리 : 예상되는 코드에 처리 필수적인 예외 처리 ..
[Java] 내부 클래스
12. 내부 클래스 12.1 내부(중첩) 클래스(inner class, nested class) 12.1.1 내부 클래스의 정의 클래스 안에 선언된 클래스 특정 클래스 내에서만 주로 사용되는 클래스를 내부 클래스로 선언한다. GUI 애플리케이션(AWT, Swing)의 이벤트 처리에 주로 사용됨 내부 클래스도 클래스이기 때문에 외부클래스$내부클래스.class로 컴파일됨 12.1.2 장점 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다. 코드의 복잡성을 줄일 수 있다. 12.1.3 단점 코드의 재사용이 어려움 class AA { static class BB { static int bb = 20; static class CC { int cc = bb + 10; } } } public class C..