● toString 메소드
자바에서 생성되는 모든 클래스들은 모두 Object 라고 하는 자바의 기본 라이브러리에서 클래스를 상속받습니다.
그 중에 toSting이라는 메소드가 있는데, 이것은 객체가 가지고 있는 정보의 값을 문자열로 반환하는 메소드입니다.
생성된 인스턴스에 toString 메소드를 사용해볼게요.
출력값으로는 알 수 없는 문자열이 뜹니다.. 이것은 라이브러리에서 가지고 있는 순수 오브젝트의 to String 결과값으로
의미가 없는 디폴트값에 해당합니다. 이것을 본래 우리가 의도하고 싶은 대로 출력하려면 재정의가 필요합니다.
이제 Stirng 클래스로 toString 에 메소드를 재정의 해서 값을 리턴할 수 있도록 합니다.
String 은 앞글자가 대문자인 클래스입니다.
이것은 자바 라이브러리에 저장되어 있는 표준 클래스인데, String 클래스 속에 있는 toString 메소드는 자신이 가진 값을 그대로 리턴해줍니다. 즉 String 클래스는 toString 을 재정의해서 사용하는 것이에요.
지금까지 우리가 의심없이 썼던 System.out.println() 에서 println은
인스턴스 참조 값이 전달되면 해당 참조 값이 참조하는 인스턴스의 toString 메소드가 반환하는 문자열을 출력하는 것이라고 볼 수 있습니다.
toString 메소드는 자동으로 호출되는데, 예를 들면 조금 전에 썼던 예제를 확인해볼게요.
toString 메소드를 지우고 출력해보겠습니다.
값이 동일하게 반환되는 것을 확인할 수 있습니다.
str 은 String 의 객체 이지만 독단적으로 사용될 수 있는 것은 저 시점에서
toString 이 자동으로 호출되었기 때문입니다.
● printf 메소드
printf 메소드는 파이썬의 f문자열과 동일한 기능으로 인수 데이터가 입력되지 않은 빈양식을 넣고,
그 뒤에 인수를 차례대로 대입하는 방식으로써 출력합니다.
printf -> 서식 지정자를 사용 (format code) 해서 출력의 형태를 정합니다.
printf는 빈양식을 받고, 그 뒤에 추가 인수를 기재합니다.
그 뒤의 인수는 각각의 빈칸에 차례대로 인수가 들어갑니다.
System.out.printf("정수는 %d, 실수는 %f, 문자는 %c", 23, 14.6,"ABC");
-> "정수는 23, 실수는 14.6, 문자는 ABC" 로 출력 됩니다.
아래의 예제를 확인해보겠습니다.
public static void main(String[] args) {
int age = 50;
double height = 160.2;
String name = "비비비";
System.out.printf(" name: %s \n", name);
System.out.printf(" age: %d \n " + "height: %f \n\n", age, height);
f 문자열과 비슷하기에 기왕 하는 거... 파이썬 한 번 더 복습하고 갈게요..
https://blue-dot.tistory.com/12
'자바 > 자바 입문 공부일지' 카테고리의 다른 글
자바 기초 공부 일지 20. 1차원 배열, int [] 배열, 배열의 디폴트 초기화 (수정중) (0) | 2022.10.28 |
---|---|
자바 기초 공부 일지 19. 콘솔 입력(Scanner 클래스) (0) | 2022.10.28 |
자바 기초 공부 일지 17. String 클래스의 메소드, .concat(), equals, compareTo, compareToIgnoreCase, valueOf 함수 (수정중) (0) | 2022.10.27 |
자바 기초 공부 일지 16. String 인스턴스 (0) | 2022.10.27 |
자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수 (0) | 2022.10.27 |