Sonacube는 코드내에서 같은 문자열을 매번 선언해서 사용하는 것을 지양하라고 말합니다. 문자열이 코드내에서 반복될 경우 상수로 선언해서 그 변수를 사용하라고 가이드 합니다. 1. 왜 그래야 하는가? 답? 1. static final 로 선언하지 않으면 다른 사람이 만든 코드가 변수를 수정할 수 있기 때문 2. 상수가 한 번만 사용되어야 가시성이 좋아짐 2. 문자열을 직접 선언하는 것과 상수 변수를 사용하는 것은 어떤 점이 다를까? String 은 클래스 선언에 따라 메모리에 저장되는 방식이 다르다. String str1 = new String("abc"); // 인스턴스로 생성된다. String str2 = "abc"; // 상수풀에 있는 문자열을 가르킨다. JVM 에서는 아래와 같은 구로조 데이터..
개발 노트
개발을 하다 보면 함수의 파라미터로 변수를 넘겨주어야 한다. 각 언어마다 변수를 넘겨주는 방법(Pass By Value, Pass By Reference)이 다른데, 이를 정확히 인지하지 못하면 예상치 못한 버그를 발생시킬 수 있다. 이번에는 Java가 어떠한 방식으로 파라미터를 전달하는지 살펴보자. 0. 문제 풀어보기 Pass By Value와 Pass By Reference에 대해 이야기하기 전에, 우리는 이들에 대해 얼마나 이해하고 있는지 확인하기 위해 아래의 간단한 시스템의 출력 결과를 예상해보도록 하자. 해당 유형의 문제는 실제 유명한 기업들에서 자주 출제되는 문제이기도 하다. 0-1. 실행할 프로그램 class Dog { private String name; public Dog (String ..