분류 전체보기
-
예외의 종류JAVA/예외처리(Exception) 2020. 10. 11. 13:54
예외의 선언은 처음에는 좁은 범위를 잡고 다음으로 내려갈수록 넓은 범위의 예외를 아래처럼 명시한다. - 예외의 파악이 불분명한경우 Exception 클래스로 받는다. 1. 예외의 종류 소스 파일 프로그램 실행결과1 매개변수를 하나만 입력하면 다음과 같은 예외가 발생한다. 프로그램 실행결과2 매개변수를 각 각 100 0을 입력하면 다음과 같은 예외가 발생한다. 프로그램 실행결과3 매개변수를 각 각 숫자가 아닌 문자열 "하나" "둘"을 입력하면 다음과 같은 예외가 발생한다. 2. 예외의 파악이 불분명한경우 Exception 클래스로 받는다. - return: finally는 무조건 실행된다. - System.exit(0): finally실행 안 된다. 프로그램 실행결과 소스 파일 3. 반드시 예외처리를 지정..
-
예외처리(Exception) 개념JAVA/예외처리(Exception) 2020. 10. 11. 13:00
예외처리(Exception) - 예외는 프로그램 개발시에 발생하는 에러와 다르다. - 프로그램 개발시에 발생하는 에러는 전부 수정해야 한다. - 안정적으로 컴파일된 후 운영중에 발생하는 에러는 대부분 "예외"인 경우가 많다. 예외는 코드상에서 발생하는 에러하고는 다르며 컴파일시에는 에러가 발생하지 않는다. 마치 디스켓을 읽어오는 프로그램이 있다면 디스켓이 없는 상태에서 읽기 기능을 작동하여 발생하는 에러와 같은 것이다. - 예외 처리를 하면 예외가 발생되서 프로그램이 끝나는 것이 아니라 나머지 루틴이 정상적으로 실행이 된다. - 자바는 객체지향 언어임으로 예외 메시지도 객체지향적으로 처리한다. 예외처리 사용법 예시 1. 예외를 처리하지 않은 경우 프로그램 실행결과 소스 파일 2. 예외를 처리한 경우 프로..
-
다중 상속JAVA/Interface 2020. 10. 11. 12:33
다중 구현(다중 상속) - 자바는 다중 상속을 할 수 없다. 한번에 하나의 클래스만 상속할 수 있다. - 상속을 연속해서 받는 경우 다중 상속과 비슷한 기능은 구현할 수 있다. - 인터페이스는 다중상속을 지원한다. 하지만 이 다중상속은 구현이 이루어진 기능을 상속하는것이 아니라 추상 메소드를 상속받는 것에 불과함으로 최하의 클래스는 상속받은 모든 클래스를 직접 구현해야 한다. 따라서 상속의 개념 보다는 다중 구현의 개념에 가깝다. 하지만 C++은 실제로 기능이 구현된 클래스를 다중상속 받을 수 있다. 이로인해 부모 클래스가 중복되거나 메소드의 소속이 불분명해져 추가적인 코드가 필요하며 유지보수 시 소스 분석이 매우 어렵다. 프로그램 실행결과 소스 파일
-
Interface의 개념JAVA/Interface 2020. 10. 11. 00:59
Interface - 추상 메소드로만 이루어져 있다."{}"가 없다. - 아래처럼 중괄호가 없고 메소드의 프로토타입만 선언되어 있으면 추상 메소드이다. 예) public abstract void speedDown(int speed); - 추상메소드를 사용하는 이유는 앞으로 추가되거나 구현되어야하는 기능의 설계 역할을 하며 실제 기능은 구현하지 않고 메소드 프로토타입만 구현하는 것을 말한다. - 추상 메소드는 건축물에서 구조를 이루는 철근과도 같고 설계도와 같은 역할을 한다. - 외부에 공개할 메소드를 등록하는 목적으로도 사용된다. - 하나의 컴포넌트가 다양한 형태로 구현되어야 할 경우 인터페이스를 이용하면 콤포넌트의 사용법이 상당히 단순해진다. - 인터페이스를 구현한 클래스는 인터페이스 상에 있는 추상 ..
-
추상 클래스(abstract class)JAVA/상속 2020. 10. 11. 00:23
추상 클래스(abstract class) - 추상 메소드 . 기능이 구현되지 않고 stub, 즉, 원형만 선언되어 있는 메소드이다. . 중괄호 "{, }"가 생략되어 있다. 예) public int add(int i, int j); public abstract int sub(int i, int j); - 추상 클래스는 추상 메소드가 1개 이상 선언되어 있다. - 추상 클래스는 객체를 생성할 수 없다. - 추상클래스가 객체를 생성하려면 추상 메소드를 Overriding(구현) 해야 한다. - 추상 클래스를 구현한 클래스는 추상 클래스를 상속받아 구현함으로써 추상클래스 타입에 포함된다.(형변환) 추상 클래스 정의 프로그램 실행결과 소스 파일 추상 클래스 정의 추상 메소드
-
메소드 내부 객체 변수(this,super), 생성자 호출 메소드JAVA/상속 2020. 10. 11. 00:05
메소드 내부 객체 변수 - this : 메소드 안에서 객체를 나타내는 객체 변수, 메소드 안에서 메소드를 호출한 객체의 주소(Hash Code)를 가지고 있다. 사용법 : this.멤버변수 - super : 메소드 안에서 상위 클래스 객체를 나타내는 객체 변수 사용법 : super.멤버변수 생성자 호출 메소드 - 생성자 안에서 다른형태의 생성자를 호출 할 수 있다. - this() : 현재 클래스의 생성자를 호출. - super() : 부모 클래스의 생성자를 호출. - 생성자 : new를 이용하여 메모리 할당이 끝난 후 메모리를 초기화하는 역할을 한다. 멤버 변수에 초기값을 할당한다. 1. this - 멤버 변수를 호출한 객체의 주소를 가지고 있다. - 멤버 메소드는 메소드를 호출한 객체의 주소를 알아야..