Home JAVA 클래스 파트 수행 정리
Post
Cancel

JAVA 클래스 파트 수행 정리

JAVA

1번

💡 클래스 내부 : 속성, 메서드, 생성자, 내부 클래스

💡 클래스 외부 : 패키지, 임포트, 외부 클래스

2번

💡 참조변수 a를 선언하고 클래스 A의 객체를 생성하시오

1
A a = new A();

💡 객체 내부의 필드 m에 값 5를 대입하시오

1
a.m = 5;

💡 필드 m의 값을 콘솔에 출력하세요

1
System.out.print(a.m);

💡 메서드 method()를 호출하시오

1
a.method();

3번

💡 클래스 A가 다음과 같이 정의돼 있을 때 다음 코드에 출력 값을 쓰시오

1
2
3
4
5
6
7
8
9
10
11
12
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);
	}
}
1
2
3
4
5
6
7
false
0
0.0
null
0.0
0.0null
nullfalse

4번

💡 4가지 형태로 오버로딩된 print() 메서드의 실행 결과가 다음과 같이 출력되도록 클래스 A를 완성하시오

5번

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A {
	void print() {
		System.out.println("입력값이 없습니다");
	}
	void print(int a) {
		System.out.println("정수 입력값 : "+a);
	}
	void print(double a) {
		System.out.println("실수 입력값 : "+a);
	}
	void print(String a) {
		System.out.println("문자열 입력값 : "+a);
	}
}

💡 다음과 같이 4가지 방법으로 arraySum 메서드를 호출할 때 오류가 발생하는 코드와 이유를 설명하시오

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class A {
	int arraySum(int[] array) {
		int sum = 0;
		for(int i = 0; i < array.length; i++) {
			sum += array[i];
		}
		return sum;
	}
}

A a = new A();
int[] data1 = new int[] {1, 2, 3};
int[] data2 = {1, 2, 3};

System.out.println(a.arraySum(data1));
System.out.println(a.arraySum(data2));
System.out.println(a.arraySum(new int[] {1, 2, 3}));
System.out.println(a.arraySum({1, 2, 3})); // 오류 배열을 직접 전달할 때는 {}로 할 수 없다

6번

💡 다음 코드에 출력 값을 쓰시오

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A {
	void abc(int m) {
		m = 8;
	}
	void bcd(int[] n) {
		n[0] = 4;
		n[1] = 5;
		n[2] = 6;
	}
}

A a = new A();

int m = 5;
int[] n = {1, 2, 3};

a.abc(m);
a.bcd(n);

System.out.println(m);
System.out.println(Arrays.toString(n));
1
2
5
[4, 5, 6]

7번

💡 다음 코드에 실행 결과에 맞게 class A를 완성하자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A {
	void averageScore(double... scores) {
      double sum = 0;
      for (double score : scores) {
          sum += score;
      }
      double average = sum / scores.length;
      System.out.println(average);
	}
}

A a = new A();
a.averageScore(1);
a.averageScore(1, 2);
a.averageScore(1, 2, 3);
a.averageScore(1, 2, 3, 4);
1
2
3
4
1.0
1.5
2.0
2.5

8번

💡 다음 class A가 가진 각각의 생성자를 이용하여 객체를 생성하시오

1
2
3
4
5
6
7
8
9
class A {
	A(int k) {
	}
	A(double a, double b) {
	}
}

A a1 = new A(0);
A a2 = new A(1.0, 2.0);

💡 다름 코드에 출력 결과를 쓰시오

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A {
	int m = 3;
	int n = 5;

	void abc(int m, int n) {
		m = this.m;
		n = n;
	}
}

A a = new A();
a.abc(7, 8);

System.out.println(a.m);
System.out.println(a.n);
1

10번

💡 class A에 있는 a, b, c, d가 모두 5가 되도록 코드를 한줄만 추가하시오

1
2
3
4
5
6
7
8
9
10
11
12
class A {
	int a, b, c, d;
	A() {
		a = b = c = d = 5;
	}
	A(int k) {
		a = k;
		b = k;
		c = k;
		d = k;
	}
}

11번

💡 패키지를 사용하는 2가지 이유를 쓰시오

💡 클래스의 이름 충돌 방지, 접근 제어

12번

1
2
3
4
5
6
package pack01;

public class A {
	public int m = 3;
	public int n = 5;
}
1
2
3
4
5
6
7
package pack02;

public class B {
	A a = new A(); // 오류
	System.out.println(a.m);
	System.out.println(a.n);
}

💡 임포트를 사용하지 않고 class B를 수정하시오

1
2
3
4
5
6
7
package pack02;

public class B {
	pack01.A a = new pack01.A();
	System.out.println(a.m);
	System.out.println(a.n);
}

💡 임포트를 사용하여 class B를 수정하시오

1
2
3
4
5
6
7
8
package pack02;
import pack01.A;

public class B {
	A a = new A();
	System.out.println(a.m);
	System.out.println(a.n);
}

13번

💡 클래스 내부에 올 수 있는 구성 요소들에 사용할 수 있는 접근 지정자를 범위가 큰 순서대로 쓰시오

💡 public protected default private

14번

💡 각 클래스 위치에서 사용할 수 있는 모든 필드를 쓰시오

1
2
3
4
5
6
7
8
9
10
11
12
13
public class A {
	public int a;
	protected int b;
	int c;
	private int d;

	void abc() {
		System.out.println(this.a);
		System.out.println(this.b);
		System.out.println(this.c);
		System.out.println(this.d);
	}
}
1
2
3
4
5
6
7
8
9
10
package pack01;

public class B {
	void bcd() {
		A a = new A();
		System.out.println(a.a);
		System.out.println(a.b);
		System.out.println(a.c);
	}
}
1
2
3
4
5
6
7
8
9
package pack02;
import pack01.A

public class C {
	void cde() {
		A a = new A();
		System.out.println(a.a);
	}
}
1
2
3
4
5
6
7
8
9
package pack02;
import pack01.A

public class D extends A {
	void def() {
		System.out.println(this.a);
		System.out.println(this.c);
	}
}
This post is licensed under CC BY 4.0 by the author.