TestClass t1 = new TestClass(10, "문자열");
TestClass t2 = new TestClass(20, "무우우운자아아열");
int a = 10;
t1.doProcess(a); // 이렇게 시행 : 10
t2.doProcess(a); // 이렇게 시행 : 20
int result1 = t1.doProcess(a); // 이렇게 시행 : 10
int result2 = t2.doProcess(a); // 이렇게 시행 : 20
System.out.println("Result 1: " + result1); // Result 1: 13
System.out.println("Result 2: " + result2); // Result 2: 23
t1.doProcess(a); // 이렇게 시행 : 10
// doProcess 메서드는 int 값을 반환하는 메서드 --> 따라서 return 문 다음에는 int 타입의 값을 반환해야 함
// return 문은 a + 3을 반환하고 있으며, 이 값은 doProcess 메서드를 호출한 곳으로 반환됨
// return 문을 만나면 메서드의 실행이 종료됨 --> 따라서 return 문 이후의 코드는 실행되지 않는다!
// 메서드 호출 시 doProcess(a)의 결과는 a + 3이며, "이 값을 변수에 저장하여 나중에 사용할 수 있음" ★★★
// 이 값은 result1, result2 변수에 저장되고 출력됨
String b = "이걸 메서드에 적용";
t1.doProcess2(b); // String 메서드 : 이걸 메서드에 적용문자열
t2.doProcess2(b); // String 메서드 : 이걸 메서드에 적용무우우운자아아열
String result3 = t1.doProcess2(b); // String 메서드 : 이걸 메서드에 적용문자열
String result4 = t2.doProcess2(b); // String 메서드 : 이걸 메서드에 적용무우우운자아아열
System.out.println("Result 3 : " + result3); // Result 3 : 이걸 메서드에 적용 / 이렇게 반환된다고~
System.out.println("Result 4 : " + result4); // Result 4 : 이걸 메서드에 적용 / 이렇게 반환된다고~
// --> 메서드 호출, 변수에 return값 저장됨, 출력시 return값이 출력됨!!!! ★★★
// --> 같은 메서드면, return 값이 같으니까 출력결과가 같겠찌???
class TestClass{
// 1. 속성(= 인스턴스 선언) : 모든 속성은 private으로 쓰자!
private int v1;
private String v2;
// 2. 생성자 : 아무것도 없는 생성자 1개, 모든 인스턴스를 포함한 생정자 1개를 답정너로 만들자!!!
public TestClass() {}
public TestClass(int v1, String v2){
this.v1 = v1;
this.v2 = v2;
}
// 3. 메서드(= 기능) : 모든 메서드는 public으로 쓰자!
public int doProcess(int a) { // 메서드로 어떠한 값을 받고싶다면 파라메터에 넣어주면 되겠지?
// --> 근데 파라메터를 메서드 안쪽에서 사용하지 않는다면 굳이 선언하지 않는게 멋있겠지
System.out.println("이렇게 시행 : " + v1);
return a + 3; // return type에 맞춰서 return해주기!!
}
public String doProcess2(String b) {
System.out.println("String 메서드 : " + b + v2);
return b + " / 이렇게 반환된다고~";
// return b + "return을 두번쓸수는 없어?"; ---> 없어! return한번 하고나면 탈출이니까
}
}
'JAVA > DAY 13 _ 23.09.04' 카테고리의 다른 글
싱글톤 패턴 (0) | 2023.09.04 |
---|---|
final (0) | 2023.09.04 |
static 2 (0) | 2023.09.04 |
method 오버로딩 & static변수 (0) | 2023.09.04 |
Star UML (0) | 2023.09.04 |