자바/자바 입문 공부일지

자바 기초 공부 일지 18. toString 메소드, printf 메소드

Tomitom 2022. 10. 28. 17:04
반응형

 

 

● toString 메소드 

 

자바에서 생성되는 모든 클래스들은 모두 Object 라고 하는 자바의 기본 라이브러리에서 클래스를 상속받습니다.

그 중에 toSting이라는 메소드가 있는데, 이것은 객체가 가지고 있는 정보의 값을 문자열로 반환하는 메소드입니다. 

생성된 인스턴스에 toString 메소드를 사용해볼게요.

 

이번에 만들었던 인스턴스 메소드 예제를 활용했어요.

 

잘.. 모르겠는.... 문자..등장..

출력값으로는 알 수 없는 문자열이 뜹니다.. 이것은 라이브러리에서 가지고 있는 순수 오브젝트의 to String 결과값으로 

의미가 없는 디폴트값에 해당합니다. 이것을 본래 우리가 의도하고 싶은 대로 출력하려면 재정의가 필요합니다. 


이제 Stirng 클래스로 toString 에 메소드를 재정의 해서 값을 리턴할 수 있도록 합니다. 

 

String은 앞 글자가 대문자이므로 클래스입니다.

 

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);

 

50세의 비비비

f 문자열과 비슷하기에 기왕 하는 거... 파이썬 한 번 더 복습하고 갈게요.. 

 

https://blue-dot.tistory.com/12

 

파이썬 공부일지 9. 숫자 · 문자열 함수!

수업은 끝났으나 자습이 남아 있습니다. 8시간 내리 수업을 듣는 것보다, 지금까지 들었던 수업들을 정리할 수 있는 시간이 있다는 것이 얼마나 감사한 일인지 모르겠어요. 누군가에게 배우는

blue-dot.tistory.com

 

 

 

반응형