목록전체 글 (47)
개발저장소
스레드란?메모리가 CPU를 독립적으로 처리하는 하나의 최소 작업 단위를 말한다. CPU: 중앙 처리 장치라고도 하며, 연산을 수행함으로써 실제 프로그램을 실행하는 장치이다.하드디스크: 저장 매체로서 상대적으로 속도가 가장 낮다.메모리: CPU가 연산을 하기 위해 필요한 정보를 저장해두는 공간이다. 프로그램은 하드디스크에 저장된 파일들의 모임, 프로세스는 메모리에 로딩된 프로그램을 뜻한다.이때, 여러 프로그램이 메모리에 로딩되어 실행되는 것을 멀티 프로세스라고 한다. 마찬가지로 여러 스레드를 생성해 동시에 2개 이상의 스레드가 동작하는 것을 멀티 스레드라고 한다. 1. 스레드의 동시성과 병렬성동시성(Concurrency)처리해야할 작업의 수가 CPU 코어 수보다 많을 때를 말한다. CPU는 각 작업 스레..
예외란?프로그래밍 과정에서 발생한 오류 중에 개발자가 해결할 수 있는 오류를 예외(exception)이라고 한다.그리고 이를 적절하게 조치하는 것을 예외 처리라고 한다. 예외와 에러의 차이점예외(exception)와 에러(error)는 비슷하지만 다른 의미를 가진다.연산, 숫자 포맷 오류 같은 상황에 따라 개발자가 해결할 수 있는 오류는 예외라고 한다.그리고 JVM 자체에서 발생하는 오류 같은 개발자가 해결할 수 없는 오류를 에러라고 한다. 둘 다 Throwable 클래스를 상속하며 Exception은 일반 예외(checked exception)와 실행 예외(unchecked/runtime exception)로 나뉜다. 일반 예외는 컴파일 이전에 검사하며 실행 예외는 실행할 때 발생한다.일반 예외는 In..
1. 이너 클래스클래스 내부에 포함되는 클래스인스턴스 이너 클래스정적 이너 클래스지역 이너 클래스 (메서드 내부에서 정의) 인스턴스 이너 클래스는 아우터 클래스의 모든 필드와 메서드에 접근 가능하다.A 클래스 내에 B 이너 클래스가 존재한다면, A a = new A(), A.B b = a.new B()와 같이 아우터 클래스를 선언해야 사용할 수 있다. 마찬가지로 A.this.필드명 같은 방법으로 참조 가능하다. 정적 이너 클래스도 마찬가지로 static의 속성에 맞게 사용 가능하다. 정적 이너 클래스는 아우터 클래스의 정적 필드와 메서드만 사용 가능하다. 지역 이너 클래스메서드 내에서 정의된 클래스이다. 지역 변수처럼 메서드 내부에서만 사용할 수 있으므로, 지역 이너 클래스는 선언 후 바로 객체를 생성해..
abstract 제어자'추상적인' 이라는 뜻. 추상 메서드나 추상 클래스에 사용된다. 구체적이지 않은 메서드를 추상 메서드라고 하며 이를 하나라도 포함하는 클래스를 추상 클래스라고 한다.추상 메서드는 중괄호가 존재하지 않아 기능이 정의되지 않는다. 어떤 기능을 정의하지 않은 미완성 메서드라고 볼 수 있다.abstract 리턴 타입 메서드명 (); 과 같은 구조를 가진다. abstract를 사용하지 않더라고 충분히 상속과 오버라이딩을 사용할 수 있다. 하지만 추상 클래스를 상속 받은 자식 클래스는 반드시 추상 메서드를 오버라이딩 해야 한다는 특징이 있다. 자식 클래스로 하여금 확장을 유도하도록 하는 이점이 생긴다. abstract를 사용하면 자식 클래스에서 무조건 메서드를 오버라이딩해서 재정의해야하므로 오..