3월 23일 내용정리
1.public static void main(String[] args)
public(접근제어자) static(객체생성하지 않고 메모리에 올림) void(리턴값을 반환하지않고 호출한데로 돌아감)
main(메서드 이름)(String(매개타입)"[]"(배열을쓸꺼야) args(매개변수명)).
2.어제 식중에 return sum sum변수가 담고있는 결과값을 반환하며, 결과값은 하나여야한다.
3.return su1+su2; 간단한 계산은 바로 return+식 대입할수 있음.
4.매개변수=인수 라고한다.
public static void main(String[] args) {
int x=0;
System.out.println("호출전 x"+x);
increment(x);
System.out.println("호출후 x"+x);
}
//increment(x)의 매개변수x 값을 복사한 값을 int n에 넣어준다.
public static void increment(int n) {
System.out.println("메서드 시작 n"+n);
n++;
System.out.println("메서드 끝날때 n"+n);
}
}
4.메서드 오버로딩 란? 하나의 클래스안에 이름이 같은메서드를 여러개 만드는것
5.오버로딩 성립조건
1)메서드이름이 같아야함
2)매개변수의 개수 또는 매개변수의 타입이 달라야 한다.
여기서 반환타입은 상관없음
위에 2조건이 하나라도 다르면 다른 메서드로 구분한다!!!
6.오버라이딩 이란?
오버로딩과 다르다!!!
오버라이딩은 덮어씌우는 개념으로 이전값을 지우고 새로운값을 만듬
1)메서드이름이 같아야함
2)매개변수의 개수 또는 매개변수의 타입이 똑같아야 한다.
package study_0323;
public class study_0323_01 {
//하나의 클래스에 메인메서드는 1개 만 있을수 있다.
public static void main(String[] args) {
int i1=3, i2=7, i3=10;
double d1=7.0, d2=3.0;
System.out.printf("max(%d,%d)=%d\n",i1,i2,max(11,12));
System.out.printf("max(%.1f, %.1f)=%.1f\n",d1,d2, max(d1,d2));
System.out.printf("max(%d,%d,%d)=%d\n",i1,i2,i3,max(i1,i2,i3));
}
public static double max(int n1,int n2) {
int result=n1>n2? n1:n2;
return result;
//return n1>n2? n1:n2 result대신 식으로 바로 대입, 리턴값은 꼭 한가지 결과값만 전달 할 수 있다.
}
public static double max(double n1,double n2) {
double result=n1>n2? n1:n2;
return result;
}
public static int max(int n1,int n2, int n3) {
return (int) max(max(n1,n2),n3);
}
}