23. 네트워크(Network)
·
Java/Java 개념
Network 네트워크 InetAddress 클래스 소켓 프로그래밍 TCP 소켓 프로그래밍 UDP 소켓 프로그래밍 네트워크 네트워크 여러 대의 컴퓨터를 통신 회선으로 연결한 것(홈 네트워크, 지역 네트워크, 인터넷 등이 해당) 서버와 클라이언트 네트워크로 연결된 컴퓨터 간의 관계를 역할로 구분한 개념 서버: 서비스를 제공하는 프로그램으로 클라이언트의 연결을 수락하고 요청내용을 처리 후 응답을 보내는 역할 클라이언트: 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당 됨 IP주소 네트워크 상에서 컴퓨터를 식별하는 번호로 네트워크 어댑터(랜카드)마다 할당 되어 있음 포트 같은 컴퓨터 내에서 프로그램을 식별하는 번호로 클라이언트는 서버 연결 요청시 IP주소와 포트 번호를 알아야..
22. Thread(스레드)
·
Java/Java 개념
Thread 프로세스 & 스레드 멀티 프로세스 VS 멀티 스레드 싱글 스레드와 멀티 스레드 멀티 스레드 장단점 스레드 생성 스레드 스케쥴링 스레드 컨트롤 동기화 프로세스(Process) & 스레드 프로세스 쉽게 말하면 실행중인 프로그램 프로세스는 프로그램이 실행 될 때 마다 개별적으로 생성 하나의 프로세스는 프로그램을 수행함에 있어 필요한 데이터와 메모리 등의 할당 받은 자원, 그리고 하나 이상의 스레드로 구성된다 스레드 프로세스 내에서 할당된 자원을 이용해 실제 작업을 수행하는 작업 단위 모든 프로세스는 하나 이상의 스레드를 가지며 각각 독립적인 작업 단위를 가짐 메인스레드 싱글 스레드의 경우 메인 스레드가 종료되면 프로세스도 종료 되지만, 멀티 스레드의 경우 실행중인 스레드가 하나라도 있다면 프로세스..
21 - 2. Map, Properties, Stack, Queue, Deque
·
Java/Java 개념
Map, Properties, Stack, Queue, Deque Map Map 계열 주요 메소드 HashMap Properties TreeSet & TreeMap Stack Queue Deque Map 키(Key)와 값(value)으로 구성되어 있으며, 키와 값은 모두 객체 키는 중복 저장을 허용하지 않고(Set방식), 값은 중복 저장 가능(List방식) 키가 중복 되는 경우, 기존에 있는 키에 해당하는 값을 덮어 씌움 구현 클래스로 HashMap, HashTable, LinkedHashMap, Properties, TreeMap이 있음 기능 메소드 리턴타입 설명 객체 추가 put(K key, V value) V 주어진 키와 값을 추가, 저장이 되면 값을 리턴 객체 검색 containsKey(Objec..
21 - 1. 컬렉션(Collection)
·
Java/Java 개념
Collection 컬렉션(Collection) 자료구조 배열의 문제점 & 컬렉션의 장점 컬렉션 주요 인터페이스 List List 계열 주요 메소드 ArrayList Vector LinkedList Comparable, Comparator Collections.sort() Set Set 계열 주요 메소드 HashSet LinkedHashSet Enumeration, Iterator, Listlterator Map Map 계열 주요 메소드 HashMap Properties TreeSet & TreeMap Stack Queue Deque Collection 메모리 상에서 자료를 구조적으로 처리하는 방법을 자료 구조라 일컫는데 컬렉션은 자바에서 제공하는 자료구조를 담당하는 프레임워크 추가, 삭제, 정렬 등의 ..
20. File
·
Java/Java 개념
File File 클래스 File 객체 생성 파일/ 디렉토리 생성 및 삭제 메소드 파일/ 디렉토리 정보 리턴 메소드 File스트림 FileInputStream FileOuputStream FileReader FileWriter 보조 스트림 성능향상 보조 스트림 File 파일 시스템의 파일을 표현하는 클래스 파일 크기, 파일 속성, 파일 이름 등의 정보와 파일 생성 및 삭제 기능 제공 File 객체 생성 File file = new File("파일 경로"); File file = new File("C:/data/test.txt"); 파일/ 디렉토리 생성 및 삭제 메소드 리턴 타입 메소드 설명 boolean createNewFile() 새로운 파일 생성 boolean mkdir() 새로운 디렉토리 생성 bo..
19. 입출력(IO)
·
Java/Java 개념
입출력 입출력 스트림 스트림 종류 InputStream OuputStream Reader Writer 입출력 input과 Output의 약자, 컴퓨터 내부 or 외부 장치와 프로그램 간의 데이터를 주고 받는 것 장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터 들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림 이용 스트림(Stream) 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스 모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재 하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 동시에 수행하려면 2개의 스트림 필요 분류 구분 바이트 기반 스트림 (바이트 단위 처리) 문자기반 스트림 (문자 단위 처리..
18. 예외처리
·
Java/Java 개념
예외처리 프로그램 오류 예외클래스 계층 구조 예외처리 예외처리 방법 Exception과 오버라이딩 사용자 정의 예외 프로그램 오류 프로그램 수행시 치명적 상황이 발생하여 비정상 종료 상황이 발생한 것, 프로그램 에러라고도 함 오류의 종류: 컴파일 에러: 프로그램의 실행을 막는 소스 상의 문법 에러, 소스 구문을 수정하여 해결 런타임 에러: 입력 값이 틀렸거나, 배열의 인덱스 범위를 벗어났거나, 계산식의 오류 등 주로 if문 사용으로 인한 에러 처리 시스템 에러: 컴퓨터 오작동으로 인한 에러 오류 해결 방법 소스 수정으로 해결 가능한 에러를 예외(Exception)라고 한다 예외 상황 구문을 처리 하는 방법인 예외처리를 통해 해결 예외 클래스 계층 구조 Exception과 에러 클래스 모두 Object 클..
17. 다형성(Polymorphism)
·
Java/Java 개념
다형성 다형성 클래스 형변환 instanceof 연산자 객체배열과 다형성 매개변수와 다형성 바인딩 추상클래스 인터페이스 추상클래스와 인터페이스 다형성 객체지향 프로그래밍 3대 특징 중 하나, 여러 개의 형태를 갖는다는 의미 하나의 행동으로 여러가지 일을 수행한다는 개념 상속을 이용한 기술로 부모 타입으로부터 파생된 여러가지 타입의 자식 객체를 부모 클래스 타입 하나로 다룰 수 있는 기술 클래스 형변환 업 캐스팅(UP Castring) 다운 캐스팅(Down Casting) 1. 업 캐스팅(Up Casting) 상속 관계에 있는 부모, 자식 클래스 간에 부모타입의 참조형 변수가 모든 자식 타입의 객체 주소를 받을 수 있음 // Sonata 클래스는 Car 클래스의 후손 Car c = new Sonata();..
16. 오버라이딩(Overriding)과 오버로딩(Overloading)
·
Java/Java 개념
오버라이딩과 오버로딩 오버라이딩(Overriding) 특징 성립조건 오버로딩(Overloading) 오버라이딩과 오버로딩 final 예악어 대상에 따른 사용 가능한 제어자, 예약어 오버라이딩(Overriding) 오버라이딩 - 자식 클래스가 상속 받은 부모 메소드를 재작성 하는것 - 부모가 제공하는 기능을 후손이 일부 고쳐 사용하겠다는 의미 - 자식 객체를 통한 실행시 후손 것이 우선권을 가짐 오버라이딩 특징 - 메소드 헤드라인 위에 반드시 Annotation, @Override 표시 - 접근 제어자를 부모 것보다 같거나 넓은 범위로 변경 가능 - 부모 메소드의 예외처리 클래스 처리범위보다 좁은 범위로 예외처리 클래스 수정 가능 오버라이딩 성립조건 부모클래스의 메소드와 자식 클래스의 메소드 비교 - 메소..
15. 상속(Inherit)
·
Java/Java 개념
상속 상속 상속의 표현식 단일상속과 다중상속 super()와 super. 상속 상속 다른 클래스가 가지고 있는 멤버(필드,메소드)들을 새로 작성하지 않고 상속을 받음으로서 새 클래스가 자신의 멤버처럼 사용할 수 있는 기능 상속의 목적 클래스의 재사용, 연관된 클래스들에 대한 공통적인 규약 정의 상속의 장점 1. 적은 양의 코드로 새로운 클래스 작성 가능 2. 코드를 공통적으로 관리하기 때문에 코드 추가 및 변경 용이 3. 코드 중복 제거하여 생산성 및 유지보수에 기여 상속의 특징 1. 모든 클래스는 Object클래스의 후손 - object클래스가 제공하는 메소드를 오버라이딩 하여 메소드 재구현 가능 -ex) java.lang.String 클래스의 equals(), toString() 2. 부모클래스의 생..