같은 함수 이름으로 파라미터 타입 또는 갯수를 달리하는 것입니다.
System.out.println() 메소드가 가장 대표적인 예입니다.
System.out.println()은 다양한 데이터 타입을 출력할 수 있도록 여러 버전으로 오버로딩되어 있습니다.
this();는 this가 있는 클래스의 생성자를 의미합니다.
this 함수는 중복된 코드를 줄이는 효과가 있습니다.
new(); 를 이용한 방법이 있습니다.
ex) String str1 = new String("Simple String");
""(쌍 따옴표)를 이용한 방법이 있습니다.
String str2 = "The Best String"
String str1 = "Simple String";
String str2 = "Simple String";
String str3 = new String("Simple String");
String str4 = new String("Simple String");
if(str1 == str2)
System.out.println("str1과 str2는 동일 인스턴스 참조");
else
System.out.println("str1과 str2는 다른 인스턴스 참조");
if(str3 == str4)
System.out.println("str3과 str4는 동일 인스턴스 참조");
else
System.out.println("str3과 str4는 다른 인스턴스 참조");
str1, 2는 동일하고 str3,4는 다른 인스턴스 참조 결과가 나옵니다.
string은 static으로 str1이랑 str2 한번 저장했으므로 동일합니다.
str3,4는 new();만들어서 주소값이 다르기때문에 다릅니다.
Immutable은 변하지 않는다는 의미로 String을 사용할 때 사용된 문자열은 String문자열이 저장되는 공간에 저장이 되어서 사라지지 않는다는 의미입니다. 따라서 같은 문자열을 여러 String변수가 사용하게 되면 하나의 주소로 통일되게 된
참고) charAt 함수
입력하시오.hello
출력)
총 글자 수는 5개 입니다.
모음은 : 2개 입니다.
자음은 : 3개 입니다.
package _2024_07_25;
import java.util.Scanner;
public class _Count {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String answer;
int aeiou = 0;
int bcd = 0;
int empty = 0;
char in;
System.out.print("입력하시오");
answer = sc.nextLine();
for (int i = 0; i < answer.length(); i++) {
in = answer.charAt(i);
switch (in) {
case 'a', 'A', 'e', 'E', 'O', 'o', 'u', 'U', 'I', 'i':
aeiou++;
case ' ':
empty++;
default:
bcd++;
}
}
System.out.println("총 글자 수는" + answer.length() + "개 입니다.");
System.out.println("모음은" + aeiou + "개 입니다.");
System.out.println("자음은" + bcd + "개 입니다.");
}
}
참고) charAt 함수
입력:abcde
출력:edcba
import java.util.Scanner;
public class StringReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder rever = new StringBuilder();
String input;
char in;
System.out.println("문장을 입력하세요.");
input = sc.nextLine();
for(int i = (input.length()-1);i >= 0;i--) {
in = input.charAt(i);
rever.append(in);
}
System.out.println(rever);
}
}