[JAVA] 얕은 복사, 깊은 복사 - Shallow Copy, Deep Copy
[JAVA] 얕은 복사, 깊은 복사 Java에서 객체를 복사하는 유형으로 깊은 복사와 얕은 복사가 있습니다. 깊은 복사(Deep Copy) 경우, 객체의 실제값을 새로운 객체로 복사하는 것이고, 얕은 복사(Shallow Copy)는 여러 객체가 같은 주소를 참조하기 때문에 하나의 값을 변경해버리면, 다른 대상의 값 또한 바뀌어 버리는 문제 등이 발생합니다. 메모리 측면에서는 깊은 복사를 할 경우에, 비효율적이게 될 수도 있습니다. 얕은 복사 (Shallow Copy) public class Array_Copy{ public static void main(String[] args) { int[] a = [ 1, 2, 3, 4 ]; int[] b = a; } } a배열을 b배열로 = 연산자를 활용하여 대입하..
2021. 7. 6.
[JAVA] String, StringBuffer, StringBuilder
[JAVA] String, StringBuffer, StringBuilder Java에는 문자열을 다루는 클래스로 String, StringBuffer, StringBuilder라는 3가지 클래스가 있습니다. String 객체는 한번 생성되면 할당된 공간이 변하지 않지만, StringBuffer, StringBuilder의 경우 객체의 공간이 부족해지는 경우 버퍼의 크기를 유연하게 늘려줍니다. String은 불변(immutable), StringBuffer, StringBuilder는 가변(mutalbe) 이라고 합니다. StringBuffer - StringBuilder StringBuffer, StringBuilder 클래스는 둘 다 크기가 유연하게 변하는 가변적인 특성을 가지고 있으며, 제공하는 메..
2021. 7. 6.