쓰레드란?OS에서 크롬을이용해 인터넷을 하면서 동시에 한글문서를 작성하기도하고 동영상을 시청하기도 한다. 동시에 여러 프로그램이 실행이되도 CPU는 시간을 분할하여 프로세스마다 우선권을 주어 작업을 처리하기 때문이다. 이런 운영체제에서 실행되는 하나의 프로그램 단위를 프로세스 라고한다. 쓰레드는 프로세스내에서 실행되는 세부 작업단위이다. 프로세스가 하나 이상의 쓰레드를 사용한다면 멀티 쓰레드라고 부르게 된다. 프로세스 = 운영체제에서 실행되는 하나의 프로그램 단위이다 (ex. 크롬, 한글, 엑셀)쓰레드 = 프로세스내에서 실행되는 세부 작업단위 쓰레드 생성방법Thread를 만드는 방법은 Thread 클래스를 상속받는 방법과 Runnable인터페이스를 구현하는 방법이 있다.public class Thread..
예외란자바를 사용하다보면 null값을 갖는 참보변수를 사용하는 경우나 배열에서 인덱스 범위를 초과해 사용한다면 예외가 발생하면서 어플리케이션이 종료가 된다. 발생하는 예외에 대응하고 어플리케이션이 종료되지않게 하기위해서는 예외처리를 해줘야한다. 예외 처리 코드(try-catch-finally)프로그램에서 예외가 발생헀을 경우 프로그램의 갑작스러운 종료를 막고, 정상 실행을 유지할 수 있도록 처리하는 코드를 예외 처리 코드라고 한다. 예외 처리 코드는 try-catch-finally문을 이용한다. try{ 예외가 발생할 가능성이있는 명령어; }catch(예외타입1 변수명){ 예외타입1 발생시 처리 할 명령어들; }catch(예외타입2 변수명){ 예외타입2 발생시 처리 할 명령어들; }finally{ 예외 ..
인터페이스(interface)는 객체의 사용 방법을 정의한 타입니다. 클래스와 유사하지만 메소드의 구현부가 없이 구현할 클래스의 뼈대를 만들어준다. 인터페이스에서 뼈대 (객체가 가져야할 특징,특성)를 잡아주면 클래스는 인터페이스를 implements 하여 살을 붙인다. 인터페이스가 뼈대 만 잡아주기때문에 메소드의 선언만할 수 있고 구현할 수 없다. 또한 필드를 선언할 수 없지만 상수 필드는 선언이 가능하다. 이러한 특징떄문에 인터페이스는 객체화 할 수없다 (생성자도 없다) 인터페이스를 사용하는방법은 구현 클래스를 만들어 사용하는 방법 뿐이다. 선언인터페이스 선언은 class키워드 대신 interface 키워드를 사용한다.interface 인터페이스명 { //상수 타입 상수명 = 값; //추상 메소드 타입..
추상 클래스(Abstract Class)는 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 말한다. 추상클래스는 말그대로 공통되는 특성을 추상적으로 만들었기 때문에 클래스 자체로 역할을 하지못한다. 즉 new 연산자를 이용하여 객체를 만들수 없다. 추상클래스는 실제 클래스들을 만들기 위한 부모클래스로만 사용할 수 있다. 사용은 다음과같이 abstract 키워드를 사용한다public abstract class 클래스이름 { //필드 //생성자 //메소드 //추상메소드 } 추상 클래스는 추상 메소드를 선언 할 수 있다. 추상메소드는 { }중괄호 없이 리턴타입, 메소드명, 매개변수를 포함하여 오직 선언만 해놓은 메소드를 말한다. 추상메소드도 abstract 키워드를 사용한다.public abstract 리..
다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말한다. 코드 측면에서 보면 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해준다. 자바에서는 부모 타입에 모든 자식객체가 대입될 수 있다. Parent라는 클래스를 상속받은 Boy와 Girl라는 클래스가 있다고하면 다음과같이 부모클래스타입에 자식객체를 대입할 수있다.Parent parant1 = new Boy(); //자식타입은 부모타입으로 자동 타입 변환이 가능하다. Parent parent2 = new Girl();이런 방식을 왜 사용할까?다형성을 구현 하는 방법이기 때문이다. 다형성은 위에 설명한것과 같이 동일한 타입을 사용하지만 다양한 결과가 나오는 성질을 말한다.(하나의 Parent타입..