자바 new 생성자 관련 질문
-
게시물 수정 , 삭제는 로그인 필요
String str1= "java";
String str2=new String("java");
String str3=new String("java");
System.out.println(str1 == str2);
System.out.println(str2 == str3);
string 타입 변수 값을 설정할 때 new 생성자로 새로운 객체를 만들면 str1, str2, str3의 참조 객체가 다 다른데
Korea k1 = new Korea("홍길동","22333-3333");
System.out.printf("%s %s %s", k1.nation, k1.name, k1.ssn);
Korea k2 = new Korea("홍길동","22333-3333");
System.out.printf("%s %s %s", k1.nation, k1.name, k1.ssn);
System.out.println(k1.name == k2.name);
왜 클래스 변수에서 생성자를 사용할 땐 참조가 같다고 나오나요?
k1과 k2의 입력 값("홍길동 어쩌구") 이걸 다르게 입력하면
참조 위치 다르다고 나오는데
텍스트를 똑같이 입력하면 위치가 같다고 나옵니다.
new 생성자는 무조건 새로운 객체를 만드는 게 아닌가요?
new 생성자가 어떤 방식으로 운영되는지 간략하게 알려주시면 감사하겠습니다.
String str1= "java";
String str2=new String("java");
String str3=new String("java");
System.out.println(str1 == str2);
System.out.println(str2 == str3);
Korea k1 = new Korea("홍길동","22333-3333");
System.out.printf("%s %s %s", k1.nation, k1.name, k1.ssn);
Korea k2 = new Korea("홍길동","22333-3333");
System.out.printf("%s %s %s", k1.nation, k1.name, k1.ssn);
System.out.println(k1.name == k2.name);
#자바 new #자바 new 생성자 #자바 new 없이 객체 생성 #자바 new 연산자 #자바 new string #자바 new date #자바 new file #자바 new int #자바 new 키워드 #자바 new file 상대경로