국비/Java
[09-1] 객체 - 메소드, 오버로딩(overloading)
제발 취업하게 해주세요
2022. 4. 19. 20:09
static 메소드 |
static메소드 호출 static : 객체를 생성하지 않아도 호출이 가능하다! [표현법] 클래스이름.메소드이름(); ex) Math.random(); |
public class MethodTest2 {
// static 메소드 만들기
//1
public static void method1() {
System.out.println("매개변수와 반환값이 둘 다 없는 메소드입니다.");
}
//2
public static String method2() {
return "매개변수는 없지만 반환값은 있는 메소드입니다.";
}
//3
public static void method3(String name, int age) {
System.out.println("매개변수는 있고 반환값은 없는 메소드입니다.");
System.out.println("출력구문 : " + name + "님 " + age + "살");
}
//4
public static String method4(String name, int age) {
System.out.println("매개변수와 반환값 둘 다 있는 메소드입니다.");
return name + "님 안녕하세요 " + age + "살 이시네요.";
}
-------------------------------------------------------------------
public class Run {
public static void main(String[] args) {
MethodTest2.method1();
MethodTest2.method2();
MethodTest2.method3("박머루", 29);
MethodTest2.method4("박머루", 29);
}
메소드 오버로딩 Overloading |
- 한 클래스 안에 같은 메소드명으로 여러 메소드를 정의 할 수 있는 방법 - 매개변수 자료형의 갯수, 순서, 종류가 모두 다르게 작성되어야 한다 - 단, 매개변수명, 접근제한자, 반환형은 메소드 오버로딩에 영향을 주지 않는다. // 메소드 이름은 test로 통일 public void test() { System.out.println("안녕하세요"); System.out.println("오늘 수업 5분 남았어여^^"); } public void test(int a) { System.out.println("int a 하나만 받았어요"); } public void test(int a, String s) { System.out.println("int a 먼저, String s 두번째로 받았어요ㅗ"); } public void test(String s, int a) { System.out.println("String s 먼저, int a 두번째로 받았어요!~!~!~!"); } public void test(int a, int b) { System.out.println("int a, int b 받았어여"); } /* 주의 : 정수형 두 개를 받는 test를 하나 더 만든다면? * 매개변수의 이름이랑은 상관 없이 자료형의 개수, 순서가 같기 때문에 에러가 발생한다 * - 즉! 매개변수 자료형이 갯수와 순서가 항상 다르게 작성되어야만 한다 * 같은 자료형끼리 순서 바꿔주는 건 의미가 없음 public void test(int b, int a) { }*/ public void test(int a, int b, String s) { System.out.println("int a int b String s"); } /* * 반환형이 다르다고 오버로딩이 적용되지 않는다 * 메소드를 호출하는 시점에서 매개변수가 동일하면 무조건 에러가 발생한다 * 반환형과 상관없이 매개변수의 자료형의 갯수와 순서가 다르게 작성되어야 한다. */ /* public int test(int a, int b, String s) { }*/ 접근제한자 : public protective default private 접근제한자가 다르다고 오버로딩이 적용되지 않는다!1 오버로딩과 무관 접근제한자와는 상관 없이 매개변수와 자료형의 개수, 순서는 다르게 작성되어야 한다. |
더보기
~~~220419 일기~~~
오늘은 개강하고 첫 테스트 보는 날!
결과는 좋았지만 첫 테스트라 문제가 쉬웠고 반 평균이 높아 다음부터는 어렵게 출제한다고 해서 벌써 걱정이다..
분명 아는 건데 이걸 서술형으로 어떻게 설명해야하나 글 쓰는 게 어려워서 고통스러웠다.
그냥 가볍게 보고 넘겼던 개념들까지도 툭 치면 나오도록 복습 꼼꼼하게 잘 해야겠다ㅜㅜ
평가를 본다는 것이 부담스러웠던 것 말고는 진도 조금 나가고 자습으로 실습문제 풀어 볼 시간 넉넉하게 줘서 행복했던 하루였다.
속도는 느리지만 수업 듣는 것 보다 실습문제 혼자 풀어보는 게 아직까지는 더 재밌다ㅎㅎ
내일부터 또 진도 빡세게 나갈테니 오늘은 일찍 정리하고 자야지...