Programming 65

8-4 예외 처리하기, try-catch문

예외처리(exception handling)    정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것    목적: 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것 public class TryCatchExample {     public static void main(String[] args) {         try {             // 예외가 발생할 수 있는 코드 블록             int[] numbers = {1, 2, 3};             // 배열의 4번째 요소에 접근하려고 시도 (IndexOutOfBoundsException 발생)             System.out.println("배열의 네 번째 요소: " + num..

8-1 프로그램 오류

- 컴파일 에러(compile-time error): 컴파일 할 때 발생하는 에러    1. 구문체크    2. 번역    3. 최적화    4. 생략된 코드 추가 - 런타임 에러( runtime error): 실행 할 때 발생하는 에러    1. 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류     2. 예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류    -에러는 어쩔수 없지만 예외는 처리하자    -예외처리의 정의와 목적        정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것        목적: 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것 Exception과 RuntimeExcept..

7-42 내부클래스(inner class)

-클래스 안의 클래스 내부 클래스의 장점- 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근 할 수 있다.- 코드의 복잡성을 줄일 수 있다.(캡슐화) 내부클래스의 종류와 특징-내부 클래스의 종류와 유효범위는 변수와 동일내부 클래스특징인스턴스 클래스(instance class)외부 클래스의 멤버변수 선언위치에 선언하며, 외부 클래스의 인스턴스 멤버처럼 다루어진다. 주로 외부 클래스의 인스턴스 멤버들과 관련된 작어베 사용될 목적으로 선언된다.스태틱 클래스(static class)외부 클래스의 멤버변수 선언위치에 선언하며, 외부 클래스의 static멤버처럼 다루어진다. 주로 외부 클래스의 static멤버, 특히 static메서드에서 사용될 목적으로 선언된다.지역 클래스(local class)외부 클래스의 멤버..

7-35 인터페이스(interface)

프로그래밍 관점- ★추상 메서드의 집합-구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public)-인터페이스 조상은 인터페이스만 가능(Object가 최고 조상 아님)-다중상속 가능(추상 메서드는 충돌해도 문제 없음) 어디에쓰는가-인터페이스에 정의된 추상 메서드를 완성하는것 -> 인터페이스 구현 일부만 구현하는 경우, 클래스 앞에 abstract를 붙여야함 Q. 추상 클래스와 인터페이스의 공통점은? -추상 메서드를 가지고 있다.(미완성 설계도) Q. 추상 클래스와 인터페이스 차이점은?-인터페이스는 iv를 가질 수 없다. 인터페이스를 이용한 다형성-인터페이스도 구현 클래스의 부모? (엄밀히 말하자면 아니지만 거의 비슷하다)-인터페이스 타입 매개변수는 인터페이스 구현한 클래스의 객체만 가능interfa..

7-31 추상클래스

- 미완성 설계도. 미완성 메서드를 갖고 있는 클래스- 다른 클래스 작성에 도움을 주기 위한것. 인스턴스 생성 불가ex)abstract class Animal {     abstract void cry()}Animal animal = new Animal(); // 에러 추상 클래스의 인스턴스 생성 불가 - 상속을 통해 추상 메서드를 완성해야 인스턴스 생성 가능class Cat extends Animal {    void cry() { }  // 추상 메서드를 구현 Animal cat = new Cat; // 인스턴스 생성 OK 추상 메서드(abstract method)-미완성 메서드. 구현부(몸통, {})가 없는 메서드/* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다. */abstrac..

7-23 다형성(polymorphism)

여러가지 형태를 가질 수 있는 능력(▲)-조상 타입 참조 변수로 자손 타입 객체를 다루는 것(★★★) 객체와 참조변수의 타입이 일치할 때와 일치하지 않을 때의 차이 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다.ex) Tv t = new SmartTv(); OK      SmartTv s = new Tv(); 에러 Tv: 조상클래스 / SmartTv: Tv를 상속받는 자손클래스