cpp만 하다 자바 시작했는데 매개변수로 클래스 올라가면 레퍼런스로 들어간다고 알고 있습니다
함수 내에서 레퍼런스로 받은 객체에 변화를 주더라도 리턴으로 받지 않으면 적용이 되지 않는 건가요?
cpp였으면 std::string&으로 받은 문자열이 리턴을 하지 않더라도 수정이 되는데
자바는 str을 리턴 받아서 대입하지 않으면 문자열 수정이 안되네요
cpp만 하다 자바 시작했는데 매개변수로 클래스 올라가면 레퍼런스로 들어간다고 알고 있습니다
함수 내에서 레퍼런스로 받은 객체에 변화를 주더라도 리턴으로 받지 않으면 적용이 되지 않는 건가요?
cpp였으면 std::string&으로 받은 문자열이 리턴을 하지 않더라도 수정이 되는데
자바는 str을 리턴 받아서 대입하지 않으면 문자열 수정이 안되네요
우선 자바에서 String은 불변 타입이야. 뭔가 바꾸면 기존꺼가 바뀌는게 아니라 바뀐 값으로 새로 생김
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#toCharArray--
그리고 toCharArray도 cpp처럼 기존꺼를 가져다 주는 느낌이 아니라, 그냥 새로 하나 만듬
감사합니당
tochararray는 char 배열을 새로 생성하는거 같긴 했는데 인자로 받은 객체에 새 객체를 대입하면 객체가 가리키고 있는 게 바뀌는줄 알았네요 감사합니다
레퍼런스긴한테 반환은 벨류던데 아닌가 그렇게 기억하는데 바뀌지않음?
immutable 검색해라 - dc App
음 clone 오버라이딩 검색해보시면 모든게 이해가 되실겁니다