My footsteps
생활코딩 객체지향 본문
728x90
public class SangCo2 {
public static void main(String[] args) {
SangCo x = new SangCo();
x.a(10, 20); //매서드라서 매개변수 있음
x.b(); //인스턴스라서 매개변수 없음
x.c(); //인스턴스라서 매개변수 없음
}
}
class SangCo{
int left, right;
public void a(int left, int right) { //매서드라서 매개변수 있음
this.left = left;
this.right = right; //매서드 left,right라서 구분하려고 this넣음
}
public void b() { //인스턴스라서 매개변수 없음
System.out.println(left+right);
}
public void c() { //인스턴스라서 매개변수 없음
System.out.println((left+right)/2);
}
}
내맘대로 예제..
▼
public class SangCo2 {
public static void main(String[] args) {
SangCo x = new SangCo();
x.mm(10,20);
x.nn();
x.ss();
}
}
class SangCo{
int a,b;
public void mm(int a, int b) { //public void = return값이 없다
this.a = a;
this.b = b;
System.out.println("매서드 mm의 값은?" + (a+b));
//괄호 하나 더 안써줘서 값이 30이 나와야하는데 1020 나오길래..ㅋ고생함
} //this를 생략시 오류가 나는 이유는, calss SangCo에서 int a,b선언을 했는데 mm매서드에서 this를 빼고
//a=a 대입식을 써버리면 위에 선언했던거랑 충돌이 생김. 그래서 class int a,b랑 구분지으려고 앞에 this를 붙임
public void nn() {
System.out.println("인스턴스 nn의 값은? " + a*b);
}
public void ss() {
System.out.println("인스턴스 ss의 값은? " + b/a);
}
}
728x90