에러(ERROR) : 컴퓨터 하드웨어나 JVM 동작의 오류, 고장으로 응용프로그램 실행 오류가 발생하는 것(OutOfMemoryError, StackOverFlowError...), 오류의 원인이 프로그램 밖에서 발생했을 때 발생하는 오류이다예외(EXCEPTION) :
제네릭은 클래스, 인터페이스, 메서드를 사용시 파라미터를 나중에 정하는 기법이다제네릭 클래스는 사용되기 전에는 파라미터가 정해져 있지 않으나, 인스턴스를 호출할 때 정해진다.제네릭을 사용하면 코드도 간결해지고 파라미터 설정을 잘못하여 발생하는 오류도 줄인다
자바 반복문 isPrime 문제아래는 전체 코드문이다.소수의 정의는 1과 자기 자신을 제외한 모든 숫자로 나누어도 나머지가 나오지 않는 숫자를 의미한다. 2,3,5,7,11,13.........그렇다면 소수임을 판별하기 위해서는 자기 자신과 1을 제외한 그 사이의 수
하위클래스의 공통적인 요소들을 뽑아 상위 클래스를 만드는 것abstract : 추상적인, 미완성의주로 추상 클래스, 추상 메서드를 만들 때 사용된다.추상 클래스는 객체 생성이 불가능 하다.추상클래스는 상속 관계에 있어 새로운 클래스를 작성하는데 매우 유용하다.추상 클래
다형성이란 한 타입의 참조변수를 통해 여려 타입의 객체를 잠조할 수 있도록 만든 것을 의미한다.상위 클래스 타입의 참조변수를 통해 하위 클래스의 객체를 참조 할 수 있도록 허용해 준것이다.Vehicle car2 = new Car(); 처럼 상위 클래스인 Vehicle
캡슐화란 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것을 말한다. 캡술화의 목적은 데이터 보호의 목적과내부적으로 사용되는 데이터에 대한 외부 노출을 막기 위함이다.이 두 목적을 통해 캡슐화의 가장 큰 장점은 정보 은닉에 있다
super와 super() 키워드는 this, this() 와 매우 유사하다. this는 메서드 내 지역변수와 멤버변수의 이름이 같을 때 구분하는 용도로 쓰이고 this()는 같은 클래스의 다른 생성자를 호출하기 위해 사용된다(오버로딩).super과 super()도 유
📔 상속 : 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것(~클래스로부터 상속받았다 보다는 ~클래스로부터 확장되었다가 더 정확할 듯 하다)아래 예시를 들어보면아래 세개의 클래스는 공통적으로 Person 클래스의 속성과 기능을 가지고 있고 추가적으로 각각의 클래
생성자는 말 그대로 객체를 생성하는 역할을 하는 클래스 요소로, 인스턴스가 생성될때 인스턴스 초기화 메서드라 정리 할 수 있다.아래는 생성자의 예시이다메서드와 비슷한 구조를 가지나 클래스명을 이름으로 가진다는 점, 리턴 타입이 없다는 점에서 차이를 보인다.생성자도 오
클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용이 된다.만약 집 하나 하나를 객체라고 하면 집을 만들기 위해서는 설계도가 필요한데 이 역할을 클래스가 하는 것이다.클래스를 먼저 정의한 후에 클래스의 설계대로 객체를 만들 수 있다. 이렇게 클래스를 통해 생성
자바를 실행 시키기 위한 가상 기계로, OS에 종속 받지 않고 CPU가 Java를 인식, 실행 할 수 있게 하는 가상의 컴퓨터이다.Java의 소스 코드 \*.java는 CPU가 인식을 하지 못한다. 그러므로 기계어로 컴파일을 해주어야 하는데 이를 JVM을 거쳐 Java
함수형 인터페이스란 1개의 추상 메소드를 갖는 인터페이스를 말한다.Predicate는 인자 하나를 받아서 boolean타입을 리턴한다.사용 예시Consumer는 인자 하나를 받고 아무것도 리턴하지 않는다(T -> void)사용 예시Supplier는 아무런 인자를 받지
그 전에 변성의 뜻을 알아보자면 변성(Variance)은 타입의 계층 관계에서 서로 다른 타입 관계가 있는지 나타내는 개념이다.그리고 공변성은 서로 다른 타입 간에 함께 변할 수 있다는 특징을 뜻한다.반공변은 공변의 반대특성을 가지고 있다.공변성 : T¹가 T의 서브