반응형

220629 4

자바 완전 정복 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..

자바 제어자-2

final 제어자 필드, 지역 변수, 메서드, 클래스 앞에 위치할 수 있다. 각 위치마다 의미가 다르다. · final 변수 : 한 번 대입된 값을 수정할 수 없다(변수가 저장한 최종값. 최종 변수) final 필드의 초기화는 반드시 생성자에서 한다. 일반 필드와 달리 강제 초기화되지 않기 때문이다. ※ final 변수에 원래 값을 또 대입해도 될까? final 변수 값을 변경할 때는 값을 기준이 아니라 한 번 대입을 했는지 안했는 지가 초기화할 수 있는 기준이 된다. 값이 동일하던 안하던 필드에 값이 한 번 대입되면 이후에 또 값을 입력하는 행위는 불가하다 · 메모리 구조 필드는 일단 멤버이기 때문에 final이든 아니든 객체 속에 포함되지만 객체 생성 시 final 필드값은 상수 영역에 1개 복사된다..

JAVA/공부 2022.07.02

클래스 상속과 다형성

상속 부모 클래스의 멤버를 내려받아 자식 클래스 내부에 포함시키는 자바 문법 요소 -> 부모 클래스는 자식 클래스들의 공통적인 특징을 가지고 있는 클래스 · 장점 1. 코드의 중복성이 제거된다 2. 클래스의 다형적 표현이 가능하다 ※ 다형적 표현 1개의 객체를 여러 형태로 표현할 수 있는 특성 · 문법 class 자식클래스 extends 부모클래스 { //.. } ※ 자식 클래스는 부모클래스를 다중 상속 불가 -> 모호성 발생 가능하기 때문에. (부모 클래스가 여러 자식 클래스를 상속하는 건 무관) · 상속 시 메모리 구조 class A { int m; void abc() {} } class B extends A { int n; void bcd() {} } B b = new B(); 자식 클래스 B의 객..

JAVA/공부 2022.07.02
반응형