
자바의 특징 자동 메모리 관리: 가비지 컬렉터가 사용되지 않는 메모리를 반환해주어 사람이 직접 메모리 관리를 해주지 않아도 되기 때문에 메모리 부족 현상이 적다. 멀티 쓰레드: 하나의 프로그램에서 여러 작업을 동시에 할 수 있다. 풍부한 라이브러리: 개발을 쉽게 만들어
오버로딩: 한 클래스에 이름이 같은 다른 메서드를 정의하는 것오버라이딩: 상속받은 클래스에서 메소드를 재정의하는 것조상 타입 참조변수로 자손 타입의 인스터스를 참조할 수 있는 것코드의 유연성과 재사용성을 향상해준다.형변환이 가능한지 확인하는 연산자객체가 특정 클래스의
실행 시 발생하는 에러를 컴파일 에러로 바꾸기 위해 만들어진 것이다. (JDK 1.5에서 도입)지네릭스를 도입한 클래스는 일반 클래스에서 지네릭 클래스가 된다.런타임 에러보다 컴파일 에러가 낫기 때문에 컴파일 단계에서 타입 체크를 하는 것이 필요하다.예를 들어위 코드를

데이터(char\[]) + 메서드(문자열 관련)C언어는 객체지향 언어가 아니어서, char 데이터를 배열에 저장하는 것은 동일하지만 문자열 관련 메서드가 따로 존재한다. 하지만 Java는 객체지향언어이므로 String 클래스에 메서드까지 포함한다.String 클래스의
StringBuffer 클래스 String처럼 문자형 배열(char[])을 내부적으로 가지고 있다. 그러나 String과 달리 내용을 변경할 수 있다. StringBuffer 내부 코드 StringBuffer는 String과 달리 equals()가 오버라이딩 되어

함수(메서드)를 간단한 식으로 표현하는 방법기존를로 나타낼 수 있다.익명 함수대신 cf) 함수와 메서드의 차이근본적으로 동일하지만 함수는 일반적 용어, 메서드는 객체지향 개념 용어이다.함수는 클래스에 독립적이고, 메서드는 클래스에 종속적이다.다만 자바에서는 함수가 클래
다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것이다.쉽게 말하면 데이터의 연속적인 흐름.데이터 소스 -> Stream -> 중간 작업 -> 최종 작업중간 연산: 연산 결과가 스트림인 연산. 반복적으로 적용 가능최종 연산: 연산 결과가 스트림이 아닌 연산. 단 한
주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공한다.어노테이션 사용 예

컴파일 에러: 컴파일 할 때 발생하는 에러런타임 에러: 실행 할 때 발생하는 에러, 프로그램이 종료됨논리적 에러: 작성 의도와 다르게 동작Java의 런타임 에러에러는 어쩔 수 없지만 예외는 처리해야 한다.
System.out.println 메소드는 콘솔에 문자열을 출력하기 위해 Java의 표준 출력 스트림인 System.out을 사용한다. System.out은 입출력(I/O) 작업을 수행하는 데 사용되는 스트림이고 I/O 작업은 CPU에서 처리하는 작업보다 느리기 때문에

Java Collections Framework의 약어로, 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 여기서

Java에서 스레드를 만드는 방법을 설명해 주세요.Thread 클래스를 혹은 Runnable 인터페이스를 상속 받아 run() 메서드를 구현하는 방법이 있습니다.Callable 인터페이스를 상속 받아 call() 메서드를 구현하는 방법이 있습니다.스레드 풀이란 무엇이고

동시성 (Concurrency) vs 병렬성 (Parallelism)동시성과 병렬성은 두 단어 모두 말 그대로 동시에 하는 것이 아닌가 생각이 들어서 혼동하기 쉽다.동시성 (병행성)멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번걸아가며 실행하는 성질이다.CPU 하나
synchronized 키워드는 원자성 문제를 해결하기 위한 방법 중 하나이다.synchronized는 lock을 이용해 동기화를 수행하며 4가지의 사용 방법이 존재한다.synchronized methodstatic synchronized methodsynchroniz

GC는 메모리 관리 기법 중 하나로, 동적으로 할당했던 메모리 영역 중 필요 없게 된 영역을 해제하는 기능이다. 여기서 동적으로 할당했던 메모리 영역은 프로그램 런타임에 사용되는 Heap 영역 메모리를 뜻하고, 필요 없게 된 영역은 어떤 변수도 가리키지 않게 된 영역을

자바 코드 실행 과정 위 그림은 자바 코드의 실행 과정을 간략하게 보여 준다. 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받는다. (JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다.) 자바 파일(.java)이 자바
참고자료:https://docs.oracle.com/javase/8/docs/api/이 인터페이스를 구현하는 클래스의 객체를 정렬하게 해준다.compareTo 메소드가 기본적인 비교 메소드이다.이 인터페이스를 구현하는 객체의 리스트는 Collections.so

객체의 연산의 세부 내용을 외부에서 알 수 없게 하는 것기존 클래스를 이용해 새 클래스를 정의하는 것으로, 상속받은 클래스는 자손 클래스, 상속 대상은 조상 클래스가 된다. 자손 클래스는 생성자와 초기화 블록을 제외한 모든 멤버를 상속받는다. 자손 클래스는 부모 클래스