본문 바로가기
728x90
반응형
SMALL

Programing/JAVA (& 혼공자Java)70

자바(Java) - 예외 클래스 에러(error) -> 컴퓨터 하드웨어 (하드,램,cpu등등) 관련 고장으로 응용 프로그램 실행 오류가 발생 하는 것 예외(exception) -> 그 외 프로그램 자체에서 발생 하는 오류 예외(exception) 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지될 수 있음 예외 발생 가능성이 높은 코드를 컴파일할 때 컴파일러는 예외 처리 유무를 확인한다. 예외와 예외 클래스 1. 일반 예외 (exception) 컴파일러 체크 예외 라고도 한다. 자바 소스 컴파일 과정에서 해당 예외 처리 코드가 있는지 검사한다. 모든 예외 클래스는 java.lang.Exception클래스를 상속 받는다. 2. 실행 예외 (r.. 2020. 12. 2.
자바(Java) - 익명 객체2 (익명 구현 객체 생성) 익명 구현 객체 생성 구현 클래스를 명시적으로 선언하는 이유는 어디서건 이미 선언된 구현 클래스로 간단히 객체를 생성해서 사용할 수 있기 때문이다. --> 재사용성이 높다. 그러나, 구현 클래스가 재사용 되지 않고 특정 위치에서만 사용된다면, 익명 구현 객체를 생성해서 사용하는 것이 좋다. - 필드 선언 시 초기값으로 익명 구현 객체 생성하여 대입하는 경우 - 메소드 내에서 로컬 변수 선언 시 초기값으로 익명 구현 객체를 생성해서 대입 - 매개 변수의 매개값으로 익명 구현객체를 생성하여 대입 예시1) 익명 구현 객체 생성 인터페이스 public interface RemoteCtrl { public void turnOn(); public void turnOff(); } 익명 구현 객체 생성 public c.. 2020. 11. 24.
자바(Java) - 익명 객체1 (익명 자식 객체 생성) 익명(anonymous)객체는 이름이 없는 객체 이다. 어떤 클래스를 상속하거나 인터페이스를 구련해야만 한다. 부모클래스를 상속해서 자식객체를 생성해서 변수에 담는다. -> 익명 자식 객체 (인터페이스는 생성자를 갖지않음) 새로운 객체는 {...} 구현되며 인터페이스 타입에 맞게 변수에 담는다. -> 익명 구현 객체 익명 자식 객체 생성 - 필드 선언할 때 초기값으로 익명 자식 객체를 생성하여 대입 - 메소드 내에서 로컬 변수 선언 시 초기값으로 익명 자식 객체를 생성해서 대입 - 메소드의 매개 변수가 부모 타입일 경우 메소드를 호출하는 코드에서 익명 자식 객체를 생성해서 매개값으로 대입 익명 자식 객체의 멤버 접근 제한 익명 자식 객체에 새롭게 정의된 필드와 메소드는 익명 자식 객체 내부에서만 사용되고.. 2020. 11. 24.
자바(Java) - 중첩 인터페이스 중첩 인터페이스 클래스의 멤버로 선언된 인터페이스 해당 클래스와 긴밀한 관계를 맺는 구현클래스를 만들기 위해서 클래스 내부에서 선언한다. class A{ //중첩 인터페이스 [static] interface I{ void method(); } } 인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능하다. 예시1) 중첩 인터페이스 public class Button { //인터페이스 타입 필드 OnClickListener listener; //매개 변수의 다형성 void setOnClickListener(OnClickListener listener) { this.listener = listener; } void click() { listener.onClick(); //ㄱ현 객체의 onClick()메소.. 2020. 11. 23.
자바(Java) - 중첩 클래스의 접근 제한 중첩 클래스의 접근 제한 바깥 필드와 메소드에서 사용 제한 A 가 있어야, B를 사용할 수 있다. C는 A가 없이도 사용 가능하다. 예시1) 바깥 필드와 메소드에서 사용 제한 public class A { //인스턴스 멤버 클래스 class B{} //정적 멤버 클래스 static class C{} //인스턴스 필드 B field1 = new B(); C field2 = new C(); //인스턴스 메소드 void method1() { B var1 = new B(); C var2 = new C(); } //정적 필드 초기화 //static B field3 = new B(); //A객체가 있어야 B객체를 이용할 수 있다. static C field4 = new C(); //A객체 없이도 C객체를 사용할 수.. 2020. 11. 23.
728x90
반응형
LIST