My footsteps

생활코딩 객체지향 본문

예습/code

생활코딩 객체지향

밀김 2023. 1. 13. 10:31
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

'예습 > code' 카테고리의 다른 글

포함  (0) 2023.01.13
상속  (0) 2023.01.13
static과 인스턴스 매서드  (0) 2023.01.13
참조형 반환타입  (0) 2023.01.13
참조형 매개변수  (0) 2023.01.13