본문 바로가기
반응형

학습/JAVA24

10. 예외처리 - 오류의 종류 에러(Error) 하드웨어의 잘못된 동작 또는 고장으로 인한 오류 에러가 발생되면 프로그램 종료 정상 실행 상태로 돌아갈 수 없음 예외(Exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인한 오류 예외가 발생되면 프로그램 종료 예외 처리 코드를 추가하면 정상 실행 상태로 돌아갈 수 있음 - 예외의 종류 일반 예외(Exception) 컴파일 체크 예외라고도 함 예외 처리 코드 없으면 컴파일 오류 발생 실행 예외(RuntimeException) 예외 처리 코드를 생략하더라도 컴파일이 되는 예외 즉 컴파일 과정에서 예외처리 코드를 검사하지 않음 경험 따라 예외 처리 코드 작성 필요 public class Sample01 { public static void main(Str.. 2022. 10. 25.
9. 중첩 클래스와 중첩 인터페이스 - 중첩 클래스 선언 위치에 따라 다음과 같이 분류된다. 멤버 클래스 인스턴스 멤버 클래스 정적 멤버 클래스 로컬 클래스 - 인스턴스 멤버 클래스 인스턴스 필드와 인스턴스 메소드, 상수 필드만 선언 가능하다. 정적필드와 정적 메소드를 선언할 수 없다. public class AAA { // 가능 : 인스턴스 필드, 인스턴스 메소드, 상수 // 불가능 : 정적 필드, 스태틱 블록, 정적 메소드 // 멤버 클래스 class BBB { public int bb1; // 인스턴스 필드 //static int bb2 = 10; // 정적 필드(X) static final int BB3 = 10; // 상수 //static {} // 스태틱 블록(X) public BBB() { System.out.println(".. 2022. 10. 24.
8. 인터페이스 - 인터페이스란? 클라이언트 객체와 사용 객체가 서로 통신하는 수단 클라이언트 객체는 인터페이스의 메소드만 알고 있으면 된다. • 즉 클라이언트 객체는 사용 객체의 내부 구조를 알 필요가 없다. • 클라이언트 객체가 인터페이스의 메소드를 호출하면 사용 객체의 메소드를 호출한다. 인터페이스를 두는 이유 개방폐쇄원칙 실현(OCP, open close principle ) 수정에는 폐쇄적이고 확장에는 개방적이다. 새로운 요구사항과 변경에 유연하게 대처할 수 있다. 객체 간의 느슨한 결합(Loose Coupling)을 위해 사용한다. 클라이언트 객체의 수정 없이 사용 객체를 변경할 수 있다. - 인터페이스의 선언 - 상수필드 선언 상수 필드만 선언할 수 있다. 인터페이스에 선언된 필드는 모두 public sta.. 2022. 10. 17.
7. 상속(Inheritance) (강제타입 변환, instanceof, 추상(abstract)클래스 - 강제타입 변환 상위 타입 객체를 하위타입 객체로 변환하는 것 언제나 상위타입을 하위타입으로 강제 변환할 수 있는 것은 아니다. 상위타입으로 생성된 객체를 하위타입으로 강제 타입 변환 할 수 없다. 이경우 ClassCastException이 발생한다 public class Phone { String number; public void makeAphoneCall() { System.out.println("전화를 겁니다."); } } =========================================== public class SmartPhone extends Phone{ // IsA 관계 // 스마트폰은 폰이다. // 스마트폰은 폰의 한 종류이다. String[] apps = {"유튜브", "플레.. 2022. 10. 17.
반응형