객체 지향형 프로그래밍에서 가장 핵심적인 요소에 해당됨. 부모 클래스가 자식 클래스에게 자신의 멤버를 물려주는 것을 의미함. 부모에게 있는 필드 값과 메서드를 그대로 사용 가능하게 되는 것에 해당됨.모든 클래스는 Object 클래스의 자식이다.일반적으로 부모 클래스를
한 객체가 여러 타입의 객체로 취급될 수 있는 능력.부모 클래스의 참조 변수에 자식 클래스의 객체들을 대입해서 다루는 것을 의미함.핵심은 "부모는 자식을 담을 수 있다" 이다.부모 클래스의 인스턴스가 자식 클래스 인스턴스를 참조하는 것을 의미한다. 부모는 자식을 담을
ScannerBufferedReader Scanner보다 속도가 빠르다. 필자는 백준 풀 때 무조건 이걸 사용하는 편.System.out.print 사용BufferedWriter 사용같은 타입의 데이터들을 연속된 공간에, 인덱스를 부여하여 저장하는 자료구조임. 크기가
선입 선출(FIFO) 구조로 제일 먼저 삽입된 애가 제일 먼저 나오게 되는 구조이다.큐의 제일 뒤쪽에 데이터를 추가하는 것은 enqueue, 큐 앞에서 데이터를 빼내는 것을 dequeu라고 한다.Queue 클래스의 구현 클래스에는 LinkedList<>(), Ar
멀티 스레드 환경에서 한 스레드가 변경한 값 → 언제 보이는지에 대한 것메모리에 변경한 값이 보이는지 안보이는지?자바 프로그램이 메모리에 접근하고 수정하는 방식 규정멀티 스레드 프로그래밍에서 스레드 간 상호작용을 의미함핵심은 작업 순서를 보장하는 happens-bef
스레드 생성 비용으로 인한 성능 문제 → 스레드는 매우 무거운 객체자신만의 호출 스택을 가지고 있어야 함 → 호출 스택을 위한 메모리 할당운영체제 자원 사용 → CPU와 메모리 리소스를 소모하는 작업운영체제 스케줄러 설정 → 스레드 관리, 실행 순서 조정에 추가 오버헤