목록JAVA/chapter01_JAVA_개념정리 (25)
WON.dev
1.1 입출력 스트림 (IO Stream) - 데이터를 전송하기 위한 일종의 통로 개념이다. - 일방통행이 기본이다. - 데이터의 방향에 따라 입력 스트림(InputStream)과 출력 스트림(OutputStream)으로 구분한다. - 스트림 클래스는 크게 바이트(byte) 기반 스트림과 문자(character) 기반 스트림으로 구분한다. 바이트 기반 스트림은 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 받고 보낼 수 있으나, 문자 기반 스트림은 문자만 받고 보낼 수 있다. - 바이트 기반 스트림 ★* 최상위 클래스 : InputStream, OutputStream 1) InputStream : 입력스트림 (1) FileInputStream (2) PipedInputStream 2) OutputSt..
1.1 컬렉션 프레임워크 (Collection Framework) - 데이터를 다루기 위한 표준화된 구조 (모든 프레임 워크는 제네릭타입이 자동으로 들어가 있다.) - 핵심 구조 Collection ─┬── List ──────┬── ArrayList │ ├── LinkedList │ └── Vector List, Set, Map 중요 │ └── Set ────────── HashSet Map ───────────────────────┬── HashMap ├── SortedMap ─── TreeMap └── HashTable 1.2 주요 인터페이스 분류 - List(동적배열) 1) 순서가 있는 데이터의 집합(배열) 2) 중복 저장 허용 - Set 1) 순서가 없는 데이터의 집합(인덱스가 없다),(중복제거..
1.1 제네릭(Generic) - Java5부터 새로 추가된 타입으로 제네릭을 이용함으로써 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있다. - 컬렉션 등에서 널리 사용되므로 확실히 이해해 두어야 한다. - 클래스나 메소드에서 컴파일 할 때 타입체크(Type check)를 하는 기능이다. 1.2 제네릭의 이점 - 컴파일 시 강한 타입 체크를 할 수 있다. 클래스나 메소드에서 컴파일 할 때 타입체크(Type check)를 하여 ★실행 에러가 나기 전 컴파일 단계에서 에러를 사전에 방지한다. - 미리 객체(인스턴스)의 공통적인 타입을 명시해서 처리하기 때문에 안정성이 높고, ★타입 변환(casting)을 제거한다. ex) List list = new ArrayList();(동적코드인 인..
1.1 스레드(Thread) - 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위. - ex) 작업 관리자에 실행되는 프로세스들 - 모든 프로세스에는 최소 하나 이상의 스레드가 존재하며(main()), 두 개 이상의 스레드를 가지면 멀티 스레드라고 한다. - 멀티 스레드(main() 이외의 다른 스레드)를 구현 하려면 Thread 클래스를 상속하거나 Runnable 인터페이스를 구현해야 한다. - 멀티 스레드 작업 시 각 스레드끼리 정보를 주고 받을 수 있다. - 프로세스끼리는 정보를 주고 받을 수 없다. 1.2 스레드 생성 - 방법 1) Thread 클래스를 상속 받아 객체 생성 2) Runnable 인터페이스 구현(주로 많이 사용) * Thread 클래스를 상속받으면 다른 클래스를 상속받..
1.1 java.lang 패키지 - 자바 프로그램의 기본적인 클래스를 담고 있는 패키지 - import 없이 사용 가능 클래스용도 Object- 자바 클래스의 최상위 클래스 System- 표준 입력 장치(키보드)로부터 데이터를 입력받을 때 사용 - 표준 출력 장치(모니터)로 출력하기 위해 사용 - 자바 가상 기계를 종료시킬 때 사용 - 쓰레기 수집기를 실행 요청할 때 사용 Class- 클래스를 메모리로 로딩할 때 사용 String- 문자열을 저장하고 여러 가지 정보를 얻을 때 사용 StringBuffer, StringBuilder- 문자열을 저장하고 내부 문자열을 조작할 때 사용 (연산이 많이 일어날때 쓴다) Math- 수학 함수를 이용할 때 사용 Wrapper(Byte,Short,Character - ..
1.1 예외 (exception) - 오류(error)의 일종이며 프로그램이 수행시 또는 컴파일시에 불능 상태를 말한다. 1) 오류 : 에러, 개발자가 손 못대는 수준 2) 예외 : 개발자가 회피 할 수 있는 수준 3) 예외클래스의 계층 구조 Object - Throwable - Exception - RuntimeException - IOException - ClassNotFoundException - ... - 사용자 정의 예외 4) 모든 예외는 java.lang.Exception 클래스로 처리 할 수 있다. 1.2 예외 처리 형식 ★try { ... 예외가 발생 할 가능성이 있는 구역 ... ★} catch (예외를 받는 매개변수) { 받은 예외를 처리하는 구역 } finally { 예외유무를 떠나 ..
1.1 인터페이스 (interface) - 객체의 사용 방법을 정의한 타입으로, 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. - 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 그렇기 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알면 된다. - 인터페이스는 추상메소드의 모음이다(추상 클래스가 인터페이스로 발전) - 특정 규칙을 지킨 추상클래스가 인터페이스이다. - 작업지시서 역할을 수행한다. 1.2 인터페이스의 특징(★추상 클래스와 차이) - 상수와 메소드만을 구성 멤버로 갖는다.★ - 생성자를 가질 수 없다.★ - 상수는 반드시 선언과 동시에 초기값을 지정해야 한다. - 메소드는 실행 블록이 필요없는 추상 메소드로 선언한다. -..
1.1 추상 메소드(abstract method) - 본문({})이 없는 메소드 이다. - 형식 abstract public 리턴타입 메소드명 (); (주로 부모클래스에서 자식들이 불러서 쓸 수 있도록 사용한다.) 1.2 추상 클래스 (abstract class) - 사전적 의미로 추상(abstract)은 실체 간에 공통되는 특성을 추출한 것을 말한다. - 추상 메소드를 하나라도 가지면 추상 클래스가 된다. (추상 메소드 먼저 생성하고 그 다음 추상 클래스!) - 추상 클래스는 new를 할 수 없다.(객체 생성 불가) - 형식 abstract class 클래스명 { } - 추상 클래스를 상속 받는 자식클래스들은 반드시 추상 메소드를 override 해야한다. 1.3 추상 클래스의 용도 - 실체 클래스들의..
1.1 다형성 (Polymorphism) - 상속관계는 부모와 자식으로 구성되어 있다. - 부모클래스의 객체(인스턴스) = 참조변수(레퍼런스)는 자식클래스의 객체를 저장 할 수 있다. (Upcasting) ★ ( → 한가지 객체가 다른 타입의 객체가 될 수 있다.) 1.2 업캐스팅 (Upcasting) - 부모클래스의 참조변수에 자식클래스의 객체를 저장할 수 있다. - 사용 형식 ex)부모클래스 참조변수 = new 자식클래스(); - 부모클래스에 존재하지않는 멤버는 호출 할 수 없다.(한계점) - 부모클래스에는 없고, 자식클래스만 가지고있는 멤버는 호출 할 수 없다.(한계점) 1.3 다운캐스팅 (Downcasting) - 부모클래스의 참조변수에 저장한 자식클래스의 타입은 "부모클래스"이다. - 이와 같은..
1.1 정보은닉 (Information Hiding) - 불필요한 내부 정보는 숨기고, 필요한 정보만 노출 시킨다. - 불필요한 내부 정보는 대표적으로 "필드"이다. - 노출 시키는 정보는 대표적으로 "생성자", "메소드"이다. - 노출 여부 결정은 "접근 지시자"를 통해서 한다. - 접근 지시자(Access Modifier)의 종류 1) public : 누구나 접근 가능 ★ 2) protected : 같은 패키지 내에서만 접근 가능 but 상속 관계의 다른 패키지 클래스 접근 가능 3) default : 같은 패키지 내에서만 접근 가능 4) private : 같은 클래스 내에서만 접근 가능 ★ 종류동일 클래스하위 클래스동일 패키지외부 패키지 privateOXXX defaultOXOX protectedO..