백지부터 시작하는 이세계 코딩 생활
생성자 (클래스) 선언 및 호출 본문

package s0508;
class Point {
int x, y;
// 생성자
// 없다면 컴파일러가 자동으로 만들어서 넣어주기도 함.
// 생성자 오버로딩을 하면, 컴파일러는 더이상 생성자를 만들지 않음.
public Point() {
System.out.println("Call ofPoint class's default");
}
public Point(int x, int y) {
this.x =x;
this.y =y;
}
@Override
public java.lang.String toString() {
return "Point[x=" + x + ", y=" + y + "]";
}
// 모든 클래스의 부모 클래스는 Object 임.
}
public class Ch12Ex04 {
public static void main(String[] args) {
Point p1 = new Point();
p1.x = 1;
p1.y = 199;
System.out.println(p1.toString());
Point p2 = new Point(200,250);
System.out.println("p2 is\t"+p2);
}// end main
}// end css
<결과확인>
<생성자(클래스) 선언 및 호출 연습>
-객체 생성과 호출
package s0508_Ch12Ex01;
class Point{ // 일종의 설계도와 같은 의미.
// 클래스 맴버 필드 선언
// 접근지정자 설정 : 일반적으로 필드의 접근지정자는 private, 매소드는 public 으로 함.
private int x;
private int y;
//가져옴 : setters 메서드.
public void setX(int x) {
this.x = x; //this 를 붙여놓은 것이 필드에 해당함. this 는 객체 자신의 참조변수다. (주의 : 클래스 자체는 this 없음)
}
//내보냄: getters 매서드.
public int getX() {
return x;
}
//setter
public void setY(int y) {
this.y = y;
}
//getter
public int getY() {
return y;
}
}
public class class생성 {
public static void main(String[] args) {
// 클래스를 이용한 객체 생성.
Point pt;
//클래스를 이용한 객체 생성.
pt = new Point(); //설계도를 바탕으로 만들어진 객체를 의미. //this가 가르키고 있음.
// 멤버 필드에 값 넣는 방법. (포인트 연산자 활용 ~.x=10;)
pt.setX(100);
pt.setY(150);
//맴버 필드에 접근하는 방법.
System.out.println("pt.setX is: "+pt.getX()+"\t pt.setY: "+pt.getY());
//make class
}//end main
}//end css