28일차

김윤정·2024년 7월 25일

코딩

목록 보기
28/60
post-thumbnail

1. 메소드 오버로딩이란?

같은 함수 이름으로 파라미터 타입 또는 갯수를 달리하는 것입니다.

2. 메소드 오버로딩을 적용한 대표적인 함수는?

System.out.println() 메소드가 가장 대표적인 예입니다.
System.out.println()은 다양한 데이터 타입을 출력할 수 있도록 여러 버전으로 오버로딩되어 있습니다.

3. this 함수에 대하여 설명하시오.

this();는 this가 있는 클래스의 생성자를 의미합니다.
this 함수는 중복된 코드를 줄이는 효과가 있습니다.

4. this란 무엇인가?

  • this.변수이름 : 현재 클래스의 인스턴스 변수를 의미합니다.
  • 인스턴스 변수 이름과 매개변수의 이름이 동일할 때 사용합니다.

5. 스트링 객체를 생성하는 2가지 방법은?

  • new(); 를 이용한 방법이 있습니다.
    ex) String str1 = new String("Simple String");

  • ""(쌍 따옴표)를 이용한 방법이 있습니다.
    String str2 = "The Best String"

6. 아래의 결과를 예측하고,이유를 설명하시오.

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();만들어서 주소값이 다르기때문에 다릅니다.

7. immutable 에 대하여 설명하시오.

Immutable은 변하지 않는다는 의미로 String을 사용할 때 사용된 문자열은 String문자열이 저장되는 공간에 저장이 되어서 사라지지 않는다는 의미입니다. 따라서 같은 문자열을 여러 String변수가 사용하게 되면 하나의 주소로 통일되게 된

8. 사용자로부터 받은 문자열(영문으로)에서 자음과 모음 개수를 계산하는 프로그램을 작성하라.

참고) 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 + "개 입니다.");
	}
}

9. 사용자에게 받은 문자열을 역순으로 화면에 출력하는 프로그램을 작성하시오.

참고) 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);
	}

}

0개의 댓글