운영체제에 독립적이다.운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용 프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적이라 여러 운영체제에서 설치
코드의 재사용성이 높다코드의 관리가 용이하다신뢰성이 높은 프로그래밍을 가능하게 한다.클래스를 '객체를 정의해놓은 것' or '객체의 설계도, 틀'이라 정의한다
한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '오버로딩'이라고 한다.메서드 이름이 같아야 한다.매개변수의 개수 또는 타입이 달라야 한다.위의 2개의 조건을 동시에 만족해야 오버로딩이라고 한다. 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다
객체지향의 특징 코드의 재사용성이 높다 코드의 관리가 용이하다 신뢰성이 높은 프로그래밍을 가능하게 한다. 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있다. 공통적으로 코드를 관리할 수 있기 때문
발생 시점에 따라 컴파일 에러와 런타임 에러로 나눌 수 있다.컴파일 할 때 발생하는 에러: 컴파일 에러프로그램의 실행도중 발생하는 에러: 런타임 에러실행은 되지만, 의도와 다르게 동작하는 것: 논리적 에러런타임 에러를 에러와 예외 두 가지로 구분한다.에러는 메모리 부족
시간을 표현하는 LocalTime 클래스날짜를 표현할 때는 LocalDate 클래스날짜와 시간 모두 필요할 때는 LocalDateTime 클래스를 사용두 날짜의 차이를 표현하는 Period두 시간의 차이를 표현하는 Durationjava.time패키지에 속한 클래스의
다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다.객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다.타입 안정성을 제공한다.타입체크와 형변환을 생략할 수 있으므로 코드가 간결
서로 관련된 상수를 편히라게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용위의 예시처럼 값뿐만 아니라 타입도 체크하기 때문에 타입에 안전하다.상수의 값이 바뀌면 해당 상수를 참조하는 모든 소스를 다시 컴파일 해야한다.하지만 열거형 상수를 사용하면, 기존의
Java는 객체지향 프로그래밍 언어입니다. (상속, 캡슐화, 다형성, 추상화)객체지향적 언어 OOP란, 프로그래밍에 사용 될 데이터의 상태와 행위를 객체로 만들어, 객체간의 상호작용을 통해 비지니스 로직을 구성하는 프로그래밍 기법이다 기본 자료형을 제외한 모든 요소들이
Primitive Type primitve type은 기본 자료형을 의미하며 종류에는 byte, short, int, long, float, double, char, boolean이 있다. 기본형은 객체 타입이 아니며 실제 값을 담고 있다. 또한 null값을 가질 수

GC는 메모리 관리 기법 중 하나로, 동적으로 할당했던 메모리 영역 중 필요 없게 된 영역을 해제하는 기능이다.보통 프로그램을 개발하면 더 이상 사용하지 않은 메모리가 발생한다.C언어에서는 이를 free() 로 참조를 해제하지만, Java는 GC가 알아서 이를 해결해준