반응형

JAVA/자바 완전 정복 15

자바 완전 정복 14장 연습문제 풀이

Q1. 다음 예외 발생 코드와 예외의 종류를 연결하시오. Q2. 다음 코드의 try{} 구문과 catch(){} 구문에는 공통적인 코드가 포함돼 있다.finally{} 블록을 사용해 중복을 재거한 코드를 작성하시오. try { int a = 3; System.out.println(5/a); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println("출력 내용 3"); } catch(ArithmeticException e) { System.out.println("예외 발생"); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println..

자바 완전 정복 13장 연습문제 풀이

1번. 다음과 같이 클래스 내부에 이너 클래스와 이너 인터페이스가 위치할 때 컴파일 이휴 생성되는 모든 .class 파일명을 쓰시오. class A {//A.class class B {}//A$B.class interface C {}//A$C.class class D {//A$D.class void def() { //지역이너클래스 : 아우터클래스+$+숫자+지역이너클래스+.class class E {}//A$D$1E.class } } } 2번. 클래스 A 내부에 이너 클래스 B가 있을 때 다음 코드와 같이 b.bcd()의 결과가 "이너 클래스와 메서드"로 출력되도록 이너 클래스 객체를 생성하는 코드를 작성하시오(참조 변수명은 b로 정함). class A { class B { void bcd() { Syst..

자바 완전 정복 12장 연습문제 풀이

Q1. 다음은 추상 클래스 A를 상속해 클래스 B를 정의한 코드로, 오류를 포함하고 있다. 오류가 발생한 이유와 그 해결책을 쓰시오. abstract class A { abstract void abc(); } class B extends A { } 오류가 발생한 이유 오류 해결책 추상 클래스를 상속받은 일반 클래스 B에 추상 메서드가 구현되어 있지 않다. 일반 클래스는 추상 메서드를 상속받을 수 없다. 부모 클래스 A의 추상 메서드를 구현해주던가 클래스 B를 추상 클래스로 명시해 준다. Q2. 다음과 같이 클래스 A와 클래스 B의 상속 관계가 있을 때 실행 코드(a.abc())의 결과가 "안녕하세요"가 나오도록 클래스 B 내부의 코드를 완성하시오. abstract class A { abstract voi..

자바 완전 정복 11장 연습문제 풀이

Q1. 다음의 클래스 A는 오류를 포함하고 있다. 오류가 발생한 위치와 그 이유를 설명하시오. class A {//1 int a = 3;//2 fianl int b = 5;//3 A() {//4 a = 7;//5 b = 9;//6 }//7 }//8 오류가 발생한 행 번호 오류가 발생한 이유 6 3행에서 final 필드가 이미 정의되어 있는데 생성자에서 필드를 또 정의하고 있기 때문이다. final 변수는 한 번 값이 정의되면 다시 정의할 수 없다. 수정이 불가하다. Q2. 다음은 2개의 메서드를 포함하고 있는 클래스 A를 상속받아 클래스 B를 정의하는 코드로, 오류를 포함하고 있다. 오류가 발생한 위치와 그 이유를 설명하시오. 1class A { 2 void abc() { System.out.printl..

자바 완전 정복 10장 연습문제 풀이

Q1. 생성자의 2가지 문법적 조건은 무엇인가? 1. 클래스명과 동일한 이름을 가질 것 2. 리턴 타입은 가지지 않는다 Q2. 다음과 같은 상속 구조도가 있을 때 이를 코드로 작성하시오(클래스 내용은 작성하지 않음). class A {} class B extends A {} class C extends B {} class D extends B {} Q3. 다음과 같은 상속 관계에서 다형적 표현을 사용한 객체 생성 코드 중 올바른 것은 O, 잘못된 것은 X에 표시하시오. //다형적 표현 A a1 = new A();//O A a2 = new B();//O A a3 = new C();//O A a4 = new D();//O B b1 = new A();//X B b2 = new B();//O B b3 = new..

자바 완전 정복 9장 연습문제 풀이

Q1. 클래스 내부에 올 수 있는 4가지 구성 요소(필드, 메서드, 생성자, 이너 클래스)에서 사용할 수 있는 접근 지정자를 접근 범위가 큰 순서대로 쓰시오. 멤버 및 생성자에 붙는 접근 지정자.. -> public, protected, default, private Q2. 클래스 자체에 사용할 수 있는 접근 지정자를 접근 범위가 큰 순서대로 쓰시오. 클래스에 붙는 접근 지정자.. -> public, default Q3. 패키지 pack01 내에는 A.java, B.java 파일, 패키지 pack02 내에는 C.java, D.java 파일이 있다. 이들 4개의 소스 파일에서 클래스 A에 포함된 4개의 필드를 사용하고자 한다. 이때 각 클래스 위치에서 사용할 수 있는 모든 필드를 쓰시오. package p..

자바 완전 정복 8장 연습문제 풀이

Q1. 패키지를 사용하는 2가지 이유를 쓰시오. 1. 비슷한 기능을 하는 클래스를 묶어서 관리할 수 있기 때문이다. 2. 클래스를 구분해서 저장할 수 있기 때문이다. Q2~Q3. 다음과 같이 pack01 패키지 내부에는 클래스 A, pack02 패키지 내부에는 클래스 B가 정의돼 있다. 클래스 B 내부의 bcd() 메서드를 실행해 클래스 A의 객체를 생성한 후 필드를 출력하려고 하니 오류가 발생했다. package pack01; public class A { public int m = 3; public int n = 5; } package pack02; public class B { void bcd() { A a = new A(); System.out.println(a.m); System.out.prin..

자바 완전 정복 7장 연습문제 풀이

Q1. 클래스 A가 다음과 같이 정의돼 있다. class A { boolean a; int b; double c; String d; void abc() { System.out.println(b+c); System.out.println(c+d); System.out.println(d+a); } } 다음 코드의 출력값을 쓰시오. A a = new A(); System.out.println(a.a);//false System.out.println(a.b);//0 System.out.println(a.c);//0.0 System.out.println(a.d);//null System.out.println(); a.abc();//0.0 //0null //nullfalse Q2. 4가지 형태로 오버로딩된 print..

자바 완전 정복 6장 연습문제 풀이

Q1. 클래스 내부에 올 수 있는 4가지 구성 요소와 외부에 올 수 있는 3가지 구성 요소를 쓰시오. · 클래스 내부 : 필드, 생성자, 메서드, 이너 클래스 · 클래스 외부 : 패키지, 임포트, 외부 클래스 Q2. 다음과 같이 클래스 A가 정의돼 있을 때 다음 코드를 작성하시오. class A { int m; void method() { System.out.println("A의 메서드"); } } · 참조 변수 a를 선언하고 클래스 A의 객체를 생성하시오. A a = new A(); · 객체 내부의 필드 m에 값 5를 대입하시오. a.m = 5; · 필드 m의 값을 콘솔에 출력하시오. System.out.println(a.m); · 메서드 method()를 호출하시오. a.method();

자바 완전 정복 5장 연습문제 풀이

Q1. 배열의 2가지 특징을 기술하시오. 1. 동일한 자료형을 순차적으로 메모리에 확보할 수 있다. 2. 객체 생성 시 크기를 지정해야 하고 지정 후엔 변경이 불가하다. Q2. 다음은 int[ ] 자료형에 3개의 정숫값 3, 4, 5를 저장하는 코드다. 각 코드상에서 메모리의 모양을 그리시오(이때 객체가 생성되는 위칫값은 100번지라 가정). Q3. 다음 코드의 출력 결과를 쓰시오, double []a = {1.2, 3.4, 5.6}; double []b = a; b[0] = 7.8; System.out.println(Arrays.toString(a));//[7.8, 3.4, 5.6] System.out.println(Arrays.toString(b));//[7.8, 3.4, 5.6] Q4. 다음과 같이..

반응형