본문 바로가기

전체 글61

Thread Thread 프로세스와 쓰레드 프로세스 : 실행중인 프로그램 (자원 + 쓰레드) 쓰레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것. 멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스 쓰레드는 작업을 수행할 개별적인 메모리 공간을 필요로 하기 때문에 프로세스의 메모리 한계에 따라 생성할 수 있는 쓰레드의 수가 결정된다. 멀티태스킹과 멀티 쓰레딩 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것. CPU의 코어가 한번에 단 하나의 작업만 수행할 수 있기때문에 실제로 동시에 처리되는 작업의 개수는 코어의 개수와 일치한다. 처리해야 하는 쓰레드의 수는 언제나 코어의 개수보다 훨씬 많기 때문에 각 코어가 아주 짧은 시간동안 여러 작업을 번갈아 가며 수행한다. 프로.. 2022. 5. 27.
예외처리 Exception과 Error의 차이 프로그램이 실행 중 어떤 원인에 의해서 오작동하거나 비정상적으로 종료가 되는 경우가 있다. 이때 이러한 결과를 일으키는 원인을 프로그램 에러 또는 오류라고 한다. 에러에는 다음과 같은 3가지 종류가 있다. 컴파일 에러 : 컴파일 시에 발생하는 에러 런타임 에러 : 실행시에 발생하는 에러 논리적 에러 : 실행은 되지만 의도와 다르게 동작하는 것. 자바에서는 실행 시 발생할 수 있는 프로그램 오류를 Error와 Exception 두가지로 구분하였다. Error = 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 Exception = 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 자바가 제공하는 예외 계층 구조 위의 계층 구조를 2가지로 나누어 볼 수 있다... 2022. 5. 27.
인터페이스 인터페이스 인터페이스 정의하는 방법 public interface Human { public static void run(); } 키워드로 interface 사용. 인터페이스의 모든 멤버변수는 public, static, final 이어야 하며, 생략이 가능하다. 인터페이스의 모든 메서드는 public, abstract이어야하며 이를 생략할 수 있다. (static과 default 예외) 인터페이스 구현하는 방법 class KoreadHuman implements Human { publid void run() { System.out.println("Korea"); } } 메스드중 일부만 구현할 경우 abstract를 붙여서 추상클래스로 선언해야 한다. 오버라이딩시 부모 메서드보다 넓은 범위의 접근제어자를.. 2022. 5. 27.
접근 지시자 접근지시자 Class, Field, Method 단위로 외부에서 접근가능한 범위를 설정하는 것을 말한다. OOP의 캡슐화와 관련되어 있는 기능이다. public, default, protected, public으로 총 4종류가 있다. 접근지시자 클래스내부 동일패키지 상속받은클래스 그 외 private o x x x default o o x x protected o o o x public o o o o 접근지시자의 기능 생성자 호출을 막아 객체 생성을 방지한다. 객체의 특정 필드에 접근을 하지 못하게 한다. 특정 메서도를 호출하지 못하게 한다. 2022. 5. 27.