본문 바로가기

반응형

자바

(3)
[Java] StringBuilder 클래스 문자열을 저장하는 String은 내부의 문자열을 수정할 수 없다. String의 replace() 메소드는 내부의 문자를 변경하는 것이 아니라, 변경된 새로운 문자열을 리턴한다. String 객체를 + 연산할 경우에도 마찬가지다. String data = "ABC"; data += "DEF"; 위 예시에서 "ABC"에 "DEF"가 추가되었기 때문에 "ABCDEF"라는 하나의 String 객체로 변경되었다고 생각할 수 있지만, String 객체는 내부 데이터를 수정할 수 없으므로 "ABC"에 "DEF"가 추가된 "ABCDEF"라는 새로운 String 객체가 생성된다. 그리고 data 변수는 새로 생성된 String 객체를 참조하게 된다. 문자열을 결합하는 + 연산자를 남용하면 그만큼 string 객체의 수..
[Java] 2차원 배열의 행(row) 길이와 열(column) 길이 arrayTest.java public class arrayTest { public static void main(String[] args) { int[][] arr = new int[3][4]; System.out.println(arr.length); // 행의 개수 System.out.println(arr[0].length); // 첫 번째 행의 열의 길이 } } int[][] arr = new int[3][4]; 으로 선언한 3행 4열의 2차원 배열 arr을 시각화 시키면 아래 이미지와 같다. 행(row)의 길이는 행의 개수와 같다. 따라서 arr.length의 결과는 3이 출력된다. 언뜻 '행의 길이'라고 하면 4를 떠올릴 수 있다. 하지만 그것은 열(column)의 길이다. arr.length의..
[Java] 클래스 생성자 선언 시 사용되는 this와 this() this public class Phone{ // 필드 String company = "Samsung"; String model; int price; // 생성자 public Phone(String model, int price){ this.model = model; // this.필드 = 매개변수 this.price = price; // this.필드 = 매개변수 } } 다음과 같이 Phone 클래스에 필드를 선언하고 그 밑에 생성자를 선언했다. 생성자 매개변수로 model, price를 가진다. 여기서 'this.필드' 이렇게 선언하는 부분이 있는데, 이것은 매개변수와 필드값을 구분하기 위해 객체 자신을 참조한다는 의미로 this를 붙이는 것이다. 상기 코드에서 알 수 있듯이 생성자 매개변수와 필드의..

반응형