생성자
*기본 생성자 : 따로 만들지 않아도 자동으로 만들어져 있다. 그 안에 기능을 넣고 싶을 때 만들면 된다. 만약 호출을 하고 싶다면 기본 생성자를 입력(명시) 해야 한다
package constructor;
public class EvenOddMain {
public static void main(String[] args) {
EvenOdd eo = new EvenOdd();
eo.setData(10);
if(eo.result())
System.out.println(eo.getData()+"는"+"짝수입니다");
else {
System.out.println(eo.getData()+"는"+"홀수입니다");
}
EvenOdd eo2 = new EvenOdd(12);
if(eo2.result())
System.out.println(eo2.getData()+"는"+"짝수입니다");
else {
System.out.println(eo2.getData()+"는"+"홀수입니다");
}
}
}
package constructor;
public class EvenOdd {
//private : 현재 인스턴스 안에서만 접근 가능
private int data;
public EvenOdd() {
//매개변수가 있는 생성자가 있다면 기본 생성자는 만들어 지지 않는다
//그러므로 쓰려면 써줘야한다.
}
public EvenOdd(int data2) {
setData(data2);
this.data = data2;
}
public void setData(int data) {
this.data = data;
}
public int getData() {
return data;
}
public boolean result() {
if(this.data % 2==0)
return true;
return false;
/*
* return
* 데이터를 메서드 호출한 위치로 반환
* 메서드 종료
* */
}
}
예) 정수를 입력받아 거꾸로 만들기
package constructor;
import java.util.*;
public class Reversemain {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Reverse rev1 = new Reverse();
System.out.println("정수를 입력하세요");
rev1.setData(sc.nextInt());
System.out.println(rev1.getData()+"의반대정수"+rev1.getResult());
System.out.println("정수를 입력하세요");
Reverse rev2 = new Reverse(sc.nextInt());
System.out.println(rev2.getData()+"의반대정수"+rev2.getResult());
}
}
package constructor;
public class Reverse {
private int data;
private int result;
public Reverse() {
}
public Reverse(int data) {
this.data = data;
}
public void setData(int data) {
this.data = data;
}
private void setResult() {
int tmp = data;
while(true) {
result = result +tmp%10;
tmp = tmp/10;
if(tmp==0)break;
result = result*10;
}
}
public int getData() {
return data;
}
public int getResult() {
setResult();
return result;
}
}
인스턴스 생성
new : 클래스를 인스턴스로 만든다.
실제 코드는 text영역에 있다.
*text : code영역
class car{
String outColor;
void setOutColor(String outColor){....}
}
public class EX01{
public static void main(String args[]){
car mayCar = new car();
}
}
this
class 자체를 의미
class내에서 생성자를 호출할 때 사용
class내에서 멤버 필드를 지정할 경우 사용