티스토리 뷰
1. set classpath 에 대하여 설명하시오.
자기자신의 폴더에서 먼저 찾아보고 이 폴더에서 필요한 클래스들을 찾아라
2.절대 경로와, 상대경로란?
절대 경로란 최상위 디렉토리로 시작하는 것이다.
상대 경로는 기준 자체가 자기 자신인 것이다.
3. cd . 관 cd .. 의 차이는?
cd.은 자기자신(상대경로)이고 cd..(절대경로)을 치면 상위 폴더로 이동한다.
4.package 에 대하여 설명해 보시오.
클래스 이름이 같으면 오류가 발생하는데 이를 해결할 수 있는 것이 패키지이다.
5.정보은닉에 대하여 설명하여 보시오.
실수롤 음수를 세팅해도 걸러낼 수 있다. private을 통해 보호하기 때문.
예를 들어 나이를 먹는 것에 대해 계산하려는데 실수로 음수를 적어 넣었다.
이러한 실수는 컴파일 오류로 이어지는데 이를 막기 위해 private이라는 글자를 추가하여 정보를 은닉한다.
즉, 소스코드를 통해 한 번 걸러내는 것이 정보 은닉이다.
멤버 변수의 값을 컨트롤 할 때 오류를 피하기 위해 set함수를 통해서 변수 값을 컨트롤 할 수 있도록 사용하는 것
set 함수 get함수를 한 개 만들어주는 이유도 여기 있다.
6.접근제한자에 대하여 설명하시오.
접근제한자 (access modifier에는 4가지 종류가 있다.
public 클래스 간 모든 패키지. 공공재.
protected 상속 관련
default 클래스 간 같은 패키지 내에서만 접근 제한. public이 아무것도 안 붙은 ㅏㅇ태.
private 같은 클래스 내에서만 가능.
7. 지역변수에 접근 제한자가 필요없는 이유는?
지역변수는 사용후 메모리에서 제거되어서
8. 아래의 클래스를 구현하시오.
Money money = new Money(-126000);
money.show();
출력 :
잘못된 입력입니다.
오만원 0장....
오만원 0장....
등등등....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
class Money {
private int money;
public Money(int money) {
setMoney(money);
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
if (money < 0) {
this.money = 0;
System.out.println("잘못된 입력입니다.");
return;
} else {
this.money = money;
}
}
public void show() {
System.out.println("오만원" + (money / 50000) + "입니다.");
money = money % 50000;
System.out.println("만원" + (money / 10000) + "입니다.");
money = money % 10000;
System.out.println("오천원" + (money / 5000) + "입니다.");
money = money % 5000;
System.out.println("천원" + (money / 1000) + "입니다.");
money = money % 1000;
System.out.println("오백원" + (money / 50000) + "입니다.");
money = money % 500;
System.out.println("백원" + (money / 50000) + "입니다.");
money = money % 100;
}
}
public class MoneyMMM {
public static void main(String[] args) {
Money money = new Money(-126000);
money.show();
}
}
|
cs |

9.아래의 클래스를 구현하시오.
Employee employee = new Employee("홍길동", 19, "서울 뉴욕시", "개발 1팀");
employee.printInfo();
출력:
이름 : 홍길동
나이 : 19
주소 : 서울 뉴욕시
부서 : 개발 1팀
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
class Employee{
private String name, addr, dept;
private int age;
public Employee (String name, int age, String addr, String dept) {
this.addr = addr;
this.age = age;
this.name = name;
this.dept = dept;
}
public void printInfo() {
System.out.println("이름 : " + name);
System.out.println("나이 : " + age);
System.out.println("주소 : " + addr);
System.out.println("부서 : " + dept);
}
}
public class EmployeeEEE {
public static void main(String[] args) {
Employee employee = new Employee("홍길동", 19, "서울 뉴욕시", "개발 1팀");
employee.printInfo();
}
}
|
cs |

10.다음 멤버를 가지고 직사각형을 표현하는 Rectangle 클래스를 작성하라. ★
- int 타입의 x, y, width, height 필드 : 사각형을 구성하는 점과 크기 정보
- x, y, width, height 값을 매개변수로 받아 필드를 초기화하는 생성자
- int square() : 사각형 넓이 리턴
- void show() : 사각형의 좌표와 넓이를 화면에 출력
- boolean contains(Rectangle r) : 매개변수로 받은 r이 현 사각형 안에 있으면 true 리턴
(겹치면 안됨. 완전히 안에 있어야 true)
- main() 메소드의 코드와 실행 결과는 다음과 같다.
public static void main(String args[]) {
Rectangle r = new Rectangle(2, 2, 8, 7);
Rectangle s = new Rectangle(5, 5, 6, 6);
Rectangle t = new Rectangle(1, 1, 10, 10);
r.show();
System.out.println("s의 면적은 "+s.square());
if(t.contains(r)) System.out.println("t는 r을 포함합니다.");
if(t.contains(s)) System.out.println("t는 s를 포함합니다.");
}
출력:
(2,2)에서 크기가 8x7인 사각형
s의 면적은 36
t는 r을 포함합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public class Rectangle {
private int x, y, width, height;
Rectangle2(int x, int y, int width, int height) {
this.height = height;
this.width = width;
this.x = x;
this.y = y;
}
public void show() {
System.out.println("(" + x +"," + y + ")" + "에서 크기가 "
+ width + "x" + height + "인 사각형");
}
public int square() {
return width * height;
}
public boolean contains(Rectangle2 r) {
if ((this.x < r.x) && ((this.x + this.width) > (r.x + r.width))) {
return true;
} else {
return false;
}
}
}
|
cs |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class RectangleTest {
public static void main(String[] args) {
Rectangle r = new Rectangle(2, 2, 8, 7);
Rectangle s = new Rectangle(5, 5, 6, 6);
Rectangle t = new Rectangle(1, 1, 10, 10);
r.show();
System.out.println("s의 면적은 "+s.square());
if(t.contains(r)) System.out.println("t는 r을 포함합니다.");
if(t.contains(s)) System.out.println("t는 s를 포함합니다.");
}
}
|
cs |

'면접준비 > KOSMO 허쌤 숙제' 카테고리의 다른 글
학습정리-10-19 (복권) (0) | 2021.10.27 |
---|---|
학습정리-10-15 (자바 가위바위보) (0) | 2021.10.27 |
생성자, 디폴트 생성자, null (21/10/13) (0) | 2021.10.27 |
변수 스코프, 지역변수, 인스턴스, 클래스, 객체 (21/10/12) (0) | 2021.10.27 |
함수,별찍기 복습, 도형넓이(21/10/11) (0) | 2021.10.27 |