Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 모두를 위한 컴퓨터 과학(CS50)
- 알고리즘
- CS50
- exception
- SSAFY 9기
- edwith
- SW
- CS기초지식
- til
- 부스트코스
- 예외처리
- CS 기초
- 객체지향
- 면접을 위한 CS 전공지식 노트
- 모두를 위한 컴퓨터 과학
- 관계형 데이터베이스
- Java Programming
- WebProgramming
- 상속
- java
- 삼성청년SW아카데미
- ERD
- 이진법
- 데이터베이스 모델링
- 기초프로그래밍
- ssafy
- w3schools
- Compute Science
- CS 기초지식
- Computer Science
Archives
- Today
- Total
Joslynn의 하루
상속과 다형성_String class의 toString 메소드_220731 본문
* String은 ObjectType
* String 타입의 참조변수를 출력했을 때, 주소값이 아닌 문자열이 출력되는 이유?
** toString 메소드 재정의
Object class의 toString 메소드
: toString 메소드는 Object 클래스에 속해있는 메서드
: 기능으로는 객체의 문자정보를 "Class(이름)@16진수의 해시 코드"로 Console 창에 출력하는 기능
String class의 toString 메소드 재정의
: String class 안에 toString()메소드가 오버라이딩(문자열 그 자체로 리턴);
: println(Object obj) 또는 print (Object obj) 메소드의 인수로 객체가 전달되면 obj.toString() 메소드가 호출되고, 그 메소드가 리턴하는 값을 출력
toString 메소드 예시)
class ObjectExam{
String str;
public ObjectExam(){ }
public ObjectExam(String str){
this.str = str;
}
// 생성자 오버로딩
@Override
public String toString() {
return str + super.toString(); // super.toString() == Object 객체의 toString 메소드
}
}
class ReferenceExam{
public static void main(String[] args){
String s01="Java";
String s02 = new String("월요일");
// 자주 사용하는 class는 객체 생성하지 않고도 사용하게 함
ObjectExam oe1=new ObjectExam("Hello");
ObjectExam oe2=new ObjectExam("World");
/* println(Object obj) 또는 print (Object obj) 메소드의 인수로 객체가 전달되면
obj.toString() 메소드가 호출되고, 그 메소드가 리턴하는 값을 출력 */
System.out.println(s01.toString());// Java
System.out.println(s02.toString());// 월요일
/* s02에 주소값이 저장되어도 "월요일"이 출력되는 이유: String도 속성과 method를 가짐;
String class 안에 toString()메소드가 오버라이딩(문자열 리턴)*/
System.out.println(oe1);// ObjectExam class의 override된 toString 메소드 호출
System.out.println(oe2.toString());// ObjectExam class의 override된 toString 메소드 호출
}
}
'개발 고민' 카테고리의 다른 글
Servlet & JSP 핵심 정리 (0) | 2022.10.17 |
---|---|
추상클래스와 인터페이스의 차이점 (0) | 2022.08.02 |
[Java] 배열 원소 중 최대값 구하기, 기본 정렬 알고리즘(선택, 버블, 삽입)_220726 (0) | 2022.07.26 |
개발 공부_배열, 다차원 배열, 상수형 변수_220724 (0) | 2022.07.25 |
Comments