java 7

자바(Java) - 스레드(Thread)

Process 실행 중인 하나의 프로그램 하나 이상의 Thread로 구성됨 Thread (실이라는 단어로 표현) Process의 실행 단위 CPU, Code, Data로 구성 됨 CPU의 효율성 증가 Thread의 생성이 Process의 생성보다 빠름 Process와 같은 메모리 공간을 사용하므로 메모리 점유 공간이 작음 통제가 쉽고 기존 정보와의 공유가 쉬움 Thread의 Life Cycle New Thread 객체 생성 Runnabe 새로 생성된 스레드가 시작된 후 스레드가 실행 가능하게 됨 이 상태의 스레드는 작업을 실행 중인 것으로 간주 Terminated Runnable상태의 Thread는 작업을 완료하거나 다른 방식으로 종료될 때 Terminated 상태로 전환 Thread 구현 1 1. ja..

JAVA 2022.01.20

자바(Java) I/O 개념

I/O이란 ? I/O는 입력(Input)/출력(Output)의 약자로, 컴퓨터 및 주변장치에 대하여 데이터를 전송하는 프로그램, 운영 혹은 장치를 일컫는 말입니다. 프로세서와 메모리, 확장 슬롯, 마더보드에서 일어나는 데이터 전송도 I/O라고 일컬어집니다 ※자바에서는 하드웨어, 표준 콘솔, 네트워크 등과 스트림(1byte)의 데이터를 읽고 쓰거나 문자(2byte)를 읽고 쓰는 것 가능 Stream : 입출력 장치에 의한 데이터의 흐름 Source Stream : 입력 데이터의 시작 (~InputStream) Sink Stream : 데이터가 처리되어 출력되는 끝 (~OutputStream) Node Stream : Source와 Sink를 묶어서 지칭하는 단어 File Name String getName..

JAVA 2022.01.20

자바 제네릭(Generics)

제네릭(Generics) 다양한 타입의 객체를 다루는 메서드, 컬렉션 클래스에서 컴파일 시에 타입 체크 미리 사용할 타입을 명시해서 형 변환을 하지 않아도 되게 함 public class 클래스명{} public class 인터페이스명{} ※T : reference Type, E: Element, K:Key, V:Value 객체 생성 변수 쪽과 생석 쪽의 타입은 반드시 같아야함 클래스명 변수 = new 클래스명(); 클래스명 변수 = new 클래스명(); 번외) 가변길이 파라미터 여기서 파라미터는 Argument 즉, 파라미터의 수가 정해져있지않다 (무한대로 받기가능) 배열 형태로 들어가있다.

JAVA 2022.01.19

자바 예외 처리

에러와 예외 어떤 원인에 의해 오동작 하거나 비정상적으로 종료되는 경우 (심각도에 따라 분류) 에러(Error) 메모리 부족, stack overflow와 같이 일단 발생하면 복구 불가 프로그램의 비정상적 종료를 막을 수 없음 -> 디버깅 필요 예외(Exception) 읽을려는 파일이 없거나 네트워크 연결이 안되는 등 수숩될 수 있는 비교적 상태가 약한 것 프로그램 코드에 의해 수습될 수 있는 상황 예외처리(Exception Handling) 예외 발생 시 프로그램의 비정상 종료를 막고 정상적인 실행 상태를 유지 Checked Exception 예외에 대한 대처 코드를 필수적으로 작성 작성하지 않으면 컴파일을 진행할 수 없음 Unchecked Exception RuntimeException 클래스의 자식..

JAVA 2022.01.19

인터페이스

인터페이스란? 서로 다른 두 시스템, 장치, 소프트웨어 따위를 서로 이어 주는 부분, 또는 장치 GUI(Graphic User Interface) - 그래픽을 이용해서 사용자와 소프트웨어 간 소통) CUI(Character User Interface) - 문자를 이용해서 사용자와 소프트웨어 간 소통 인터페이스 상속 인터페이스끼리 extends 키워드를 이용해 상속이 가능 클래스와 다르게 인터페이스는 다중 상속이 가능 인터페이스의 필요한 이유 구현의 강제로 표준화 가능(abstract키워드) 인터페이스를 통한 간접적인 클래스 사용으로 손쉬운 모듈 교체 지원 서로 상속의 관계가 없는 클래스들에게 인터페이스를 통한 관계 부여로 다형성 확장 모듈 간 독립적 프로그래밍 가능 -> 개발 기간 단축 메서드 선언부를 ..

JAVA 2022.01.19

자바(JAVA) 초급

객체(Object)란? 우리 주변에 있는 모든 것으로 프로그래밍 대상 (Ex-물체, 집, 사람, 자동차, 등) ※Object(오브젝트) == instance(인스터스) 객체지향 프로그래밍 주변에 있는 모든 것을 객체화해서 프로그래밍을 하는 것 객체지향 프로그래밍의 장점 1) 블록 형태의 모듈화 된 프로그래밍 신뢰성 높은 프로그래밍이 가능 코드 재사용성이 높다 소프트웨어 유지 보수할 때 유리하다. 2) 현실 세계에 비유하여 쉬운 프로그래밍 가능 주변의 모든 것들을 객체(Object)로 표현 소프트웨어의 동작은 객체들의 상호 작용 묘사로 구현 가능 클래스(Class) 객체를 정의해 놓은 것 (객체의 설계도) 클래스는 직접 사용할 수 없고, 직접 사용하기 위해서는 객체를 생성 객체(Object, instanc..

JAVA 2022.01.17

JAVA 배열(Array)

변수는 2가지 Primitive(기본형) : int, double, float, byte, short, char, boolean 등 ※초기값이 있음 (기본: 0) Reference(참조형) : string, Scanner 등 ※null이 다들어있다 ※Java에서 new쓰면 무조건 Object(객체) [Object(객체)는 Heap영역에 생성] 배열(Array) 동일한 타입의 데이터 여러 개를 하나의 연속된 메모리 공간에서 관리하는 것 요소에 접근하는 속도가 매우 빠르며 크기 변경 불가 변수의 수 증가 코드의 길이 증가 반복문 적용 불가 변수의 수가 동적으로 결정될 경우, 사용 불가 int[]arr = new int[5] #int[]arr의 주소는 배열 첫번째 인덱스[0]를 가르킨다 int Type 기준으..

JAVA 2022.01.13