Programming Language/JAVA(25)
-
[JAVA] 오버라이딩(Overriding) 정리
■ 오버라이딩(Overriding) 상속관계에 있는 부모 클래스의 메서드를 자식클래스에서 재정의 하는것을 의미한다. ※ 특징 1) 메서드명이 동일 해야한다. - 부모클래스에서 정의한 메서드와 자식클래스에서 재정의한 메서드의 메서드명이 같아야 한다. 2) 매게변수가 동일 해야한다. 3) 리턴 타입이 동일 해야한다. 4) 접근 범위가 같거나 넓은 접근 제어자를 사용해야한다. - 부모클래스에서 정의한 메서드의 접근 제어자와 같거나 보다 접근범위가 넓은 접근 제어자로 자식클래스의 메서드를 재정의 해야한다. * 접근제어자 접근범위가 넓은 순서 : public > protected > default > private(오버라이딩 불가) 5) 부모클래스에서 정의한 메서드의 예외(Exception) throws 보다 좁..
2020.08.01 -
[JAVA] 인터페이스(interface) 정리
■ 인터페이스(interface) 추상 클래스와 유사하게 인터페이스를 구현한 클래스들에게 강제함으로써, 통일성과 일관성을 지원한다. 또한, 서로 관련 없는 클래스들끼리에 매게역할을 할수 있다. ■ 구현 가능한 구성요소 public static final 상수 추상 메서드(abstract 키워드 생략가능) default 메서드 - 하위 호환성을 유지하고 인터페이스의 보완을 진행할 수 있습니다. static 메서드 ■ 특징 추상 메서드를 가지고 있기 때문에 객체 생성 불가 하위 클래스에서 인터페이스의 추상메서드를 재정의 해야한다. 클래스에 다중 구현을 지원하다. 인터페이스간에 다중 상속을 지원한다. 1. 인터페이스 InterfaceA, InterfaceB : 다중 상속 예시를 위한 인터페이스 Interfac..
2020.07.31 -
[JAVA] 추상클래스(abstract class) 정리
■ 추상클래스(abstract class) 상속관계에서 하위 클래스들에게 부모의 메소드를 반드시 사용하도록 강제할 수 있다. 따라서 통일성 및 일관성이 지켜질 수 있으며 결과적으로 재사용성 및 유지보수가 향상되고 관리하기도 쉬워진다. ■ 구현 가능한 구성요소 인스턴스 변수 일반 메서드 생성자 추상 메서드 ■ 특징 미완성 클래스이다. 추상 메서드를 포함할 수 있기 때문에 객체생성이 불가능하다. *추상 메서드가 포함되지 않아도 된다. 상속관계에서 하위 클래스에서 추상 클래스의 추상 메서드를 재정의 해야한다. 단일상속만 지원한다. ※ 추상 메서드 특징 : abstract 키워드를 갖고 선언부는 있지만 구현부가 없는 메서드 1. 추상 클래스 ※ 구성 인스턴스 변수 생성자 일반 메서드 추상 메서드 2. 추상클래스..
2020.07.31 -
[JAVA] 다운캐스팅(DownCasting) 정리
■ DownCasting 상속관계의 두 클래스를 기준으로 자식클래스의 참조 변수가 부모클래스의 객체를 참조하는것을 의미한다. 다운캐스팅의 경우 형변환 기호를 사용하면 문법상에 문제가 없는것처럼 보이지만 실질적으로는 런타임오류가 발생한다. 이유는 단순하다. 비교적으로 자식클래스의 구성은 부모클래스의 구성보다 방대할 수 밖에 없다. 자식클래스의 참조변수가 부모클래스의 객체를 참조할 경우에 부모클래스의 구성요소에는 접근이 가능하지만, 자식클래스에 존재하는 인스턴스 변수나 메소드의 접근이 불가능하기 때문이다. 따라서 JVM은 기본자료형과 다르게 참조변수에 경우 정확한 형변환 추리가 불가능하다 판단하여 런타임 에러를 발생시킨다. 하지만 업캐스팅을 선행하고 다운캐스팅한다면 문제없이 캐스팅이 가능하다. 1. 부모 클..
2020.07.31 -
[JAVA] 업캐스팅(Upcasting) 정리
■ UpCasting 상속관계의 두 클래스를 기준으로 부모클래스의 참조 변수가 자식클래스의 객체를 참조할 수 있는것을 의미한다. Java의 다형성을 가장 잘 설명하는 특징이다. 1. 부모 클래스 ※ 구성 생성자 일반메소드(parentMethod) 2. 자식 클래스 ※ 구성 생성자 일반메소드(childMethod) 3. main() 메소드 ※ 형식 1) 부모클래스 참조변수 = (부모클래스) new 자식클래스(); - 형변환 기호 생략 가능 2) 부모클래스 참조변수 = new 자식클래스(); 주의!) 부모클래스의 참조변수가 자식클래스의 객체를 참조하고 있지만 직접적으로 자식클래스의 인스턴스변수, 메소드를 호출할 수 있는것은 아니다. 따라서 주석처리된 부분은 에러가 발생한다. 4. 출력결과 상속관계에 있는 자..
2020.07.31 -
[JAVA] 이클립스(Eclipse) 설치
■ 설치파일이 아닌 압축파일로 이클립스(Eclipse) 설치 ※ 다운로드 경로 : https://www.eclipse.org/ The Community for Open Innovation and Collaboration | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks. www.eclipse.org 설치 방법 ▶ 1. Download 버튼 클릭 ▶ 2. Download Package 클릭 ▶ 3. 버전 선택 설치 1) 최신 버전 설치..
2020.07.27