목록new (2)
개발 무지렁이

String은 상수이다. 한 번 만들어지면 값변경이 불가, immutable String str = "java"; str = "java2"; ❓ 위의 코드는 정상적으로 실행된다. WHY? 값변경을 하는게 아니라 새로운 객체가 만들어진다. 수정 전의 객체는 garbage collection이 일어난다. String str = new String("java"); String str = "java"; 는 축약표현이다. 사실은 '객체생성연산자(new)'를 통해 객체를 생성하는 것이다. ❗ 주의 new 키워드 없이 할당한 값이 이미 있으면 같은 주소를 저장한다. String str1 = "java"; String str2 = new String("java"); String str3 = "java"; str1 ==..

오버로딩(Overloading) 하나의 클래스 내부에 이름이 같은 method가 여러개 있는 것 (단, parameter 타입이나 개수가 달라야한다, 이에 따라 호출되어지는 함수가 다르다) Why? 호출하기가 편하다, 사용자 편리성 💡 대표적인 오버로딩 System.out.println(); 인자의 개수가 다르거나 타입이 다르다, overloading - System.out.println(); - System.out.println('A'); - System.out.println(4); - System.out.println("안녕"); println은 인자가 0개나 1개 들어오도록(2개이상x) 오버로딩 되어 있다. 그래서, 우리가 println으로 출력할때 인자를 문자열 연결 연산자 + 를 이용해서 하나의..