|
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
51
52
53
54
55
56
|
package day_09;
// 같은 패키지 내에서만 접근이 가능하다.
class point {
int x;
int y;
// 모든 클래스는 object 클래스를 자동 상속받는다.
// 상속이되면 부모 클래스의 멤버를 재정의(Override) 가능하다.
// toString() 메소드가 재정의. << 오브잭트마다 다 있다.
// toString() 정의:: 객체를 호출했을 떄(객체를 사용할때) 자동으로 호출됨
// 오브잭트 안 매서드를 저장의.
// @Override
// public String toString() {
// // TODO Auto-generated method stub
// // return super.toString(); // super = 부모를 뜻한다. 부모를 따라한ㄴ다..
//
// return "x= " + x + " y= " + y;
// }
// 이클립스의 자동화 기능으로 위 override 마우스 우클릭 > 소스 > toString
@Override // 사용하지 않으면 오브잭트에서 해시코드만 보여주게된다.
public String toString() {
return "point [x=" + x + ", y=" + y + "]";
}
}
public class Day09Ex01 {
public static void main(String[] args) {
// 참조변수를 선언한다.
// 클래스는 사용자 정의 자료형(type)이다. (타입 = 자료형)
// 클래스로 선언한 변수는 참조(reference) 변수이다.
// 참조변수에는 객체의 주소가 들어간다. 선언된 타입 point 의 객체주소만 들어갈 수 있다.
point pt01;
// 객체를 생성해서 참조변수에 주소(참조값)를 넘긴다.
pt01= new point();
// 참조변수를 통해서 객체내의 멤버를 접근한다.
// 멤버 접근 연산자는 = 점(.)
pt01.x = 100;
pt01.y = 200;
// 객체(맴버) 에 저장된 값을 확인한다.
//System.out.println("x= " + pt01.x + " y= " + pt01.y);
System.out.println(pt01); // pt01이라고 그냥 입력하면 해시태그만 나온다.
}
}
|
cs |
|
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
package day_09_02;
class Point {
// private는 객체 내부에서만 접근이 가능하다. ( 접근 - 쓸 수 있다.)
private int x;
private int y;
//public은 객체 외부에서 접근 가능하다. (다른 클래스, 다른 팩키지에서 접근 가능)
// 캡슐화를 위해서 멤버 필드는 private 선언하고
// 메소드는 public으로 선언한다. (일반적인 클래스의 구조)
// setters -값을 받아서 넣는거
//public void setX(int _x) {
// x = _x;
//}
//public void setY(int _y) {
// y = _y;
//}
// getters - 값을 리턴
//public int getX(){
// return x;
//}
//public int getY(){
// return y;
//}
// 자동생성 > 소스 > 세터게터
public int getX() { // 다른 패키지에서도 접근할 수 있다.
return x;
}
public void setX(int x) {
this.x = x; // this는 자기 자신을 가리키는 참조변수이다. 외부에서는 클래스으 ㅣ참조값이 pt01이 되지만, 내부에서는 this가 된다
} //
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
@Override
public String toString() {
return "Point [x=" + x + ", y=" + y + "]";
}
}
public class Day09Ex02 {
public static void main(String... args) {
Point pt= new Point();
//pt.x= 100;
//pt.y= 200;
pt.setX(1000);
pt.setY(2000);
//System.out.println(pt);
System.out.println();// 프라이빗으로 막아놔서 외부에서는 접근할 수 없다,
}
}
}
|
cs |
|
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
|
package day_09_02;
public class Day09Ex03 {
//2) 객체가 만들어짐
public void print(int a) {
System.out.println("print 1 호출");
System.out.println(a);
}
public void print(int a, int b) {
System.out.println("print 2 호출");
System.out.println(a);
System.out.println(b);
}
public void print(int a, int b, int c) {
System.out.println("print 3 호출");
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
// 3) 오버로딩이됨. 매개변수의 개수가 각각 다르다.
public static void main(String[] args) {
Day09Ex03 obj= new Day09Ex03(); // 1) 객체 생성
obj.print(100, 200, 300);
}
}
|
cs |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package day_09_02;
import java.util.Arrays;
public class Day09Ex04 {
//2) 객체가 만들어짐
public void print(int ... a) { // a> 배열이라는 말
System.out.println(Arrays.toString(a));
}
// 3) 오버로딩이됨. 매개변수의 개수가 각각 다르다.
public static void main(String[] args) {
Day09Ex04 obj= new Day09Ex04(); // 1) 객체 생성
obj.print(100, 200, 300, 400, 500);
}
}
|
cs |