JAVA 14

상속

상속이란? - 부모 클래스가 자신의 필드나 메서드를 자식 클래스에게 물려주어 자식 클래스가 부모 필드 및 메서드를 사용하는 것 사용법 class 자식클래스명 extends 부모 클래스 { 필드 메서드 생성자(){ super() // 부모 생성자 호출 } @override 부모 메서드 재정의 } - final 클래스는 상속 할 수 없다 • 매개변수의 다형성 메서드(부모클래스명 클래스변수) { } - 위와같은 메서드 선언 시 부모클래스의 자식클래스를 사용할 수 있다. • 자동 타입 변환 - 부모클래스 변수 = new 자식클래스() - 자식 타입이 부모 타입으로 자동 변환하면, 부모 타입에 선언된 필드와 메소드만 사용 가능하다. • 강제 타입 변환 - 부모클래스 변수 = new 자식클래스 한 후, => 자식클..

JAVA 2021.07.07

equals()와 hashCode() 함수 차이

equals() 메서드란? - 두 객체의 내용이 같은지 확인하는 메서드 hashCode() 메서드란? - 두 객체가 같은 객체인지 메모리 주소로 확인하는 메서드 @Test void isEqual() { Car newCar = new Car("lee",28); Car oldCar = new Car("lee",28); boolean result = newCar.equals(oldCar); assertThat(result).isFalse(); } @Test void isHashCode() { Car newCar = new Car("lee",28); Car oldCar = new Car("lee",28); Map car = new HashMap(); car.put(newCar, 1); car.put(oldCar..

JAVA 2021.07.03

예외(Exception) 처리

예외 (Exception)처리 란? - 에러로 인한 프로그램 수행이 중단 될 경우를 대비하여, 에러가 발생할것을 대비하여 이를 소스상에서 대처 하고 프로그램이 정상적으로 수행 되도록 해주는 기능이다. 예외처리 코드 및 실행 순서 (Try - Catch - Finally) 1. Try 블록 : 실제 코드가 들어가는 곳, 예외 Exception이 발생할 가능성이 있는 코드 2. Catch 블록 : Try 블록에서 Exception이 발생하면, Catch 블록으로 넘어온다, Catch 블록에서 예외에 대한 처리 코드를 작성 3. Finally 블록 : Try 블록에서의 Exception과 발생 유무와 상관없이 무조건 수행되는 코드 블럭, 생략 가능 실행 예외 - 작성자가 코드에서 발생한 에러를 감지하고 에러 ..

JAVA 2021.06.30

Java 컴파일 과정 및 메모리 구조

자바는 OS과는 독립적이다 그 이유는 JVM(Java Virtual Machine)이 OS와 프로그램 사이에서 기계어로 해석해주는 역할을 하기 때문이다. 따라 어떠한 OS든 자바가 설치 되어있다면 JVM에 의하여 .java 코드가 기계어로 해석 될 수 있다. 자바 개발자들이 Eclipse나 다른 개발 툴을 사용해 .java파일을 생성한 후 Build라는 작업을 통하여 Compiler을 통하여 .class파일을 생성하게 됩니다. 현재 이 파일은 컴퓨터가 읽을 수 없는 자바 바이트코드 입니다. 이렇게 생성된 자바 바이트 코드(.class)는 ClassLoader에 의해서 JVM 내로 로드 되고 실행 엔진에 의해 기계어로 해석되어 메모리상에 배치 되게 됩니다. ----- 메모리 영역 ------- Stack ..

JAVA 2021.03.21