Method Overriding Overriding이란, 부모 class의 method를 자식 class에서 재정의 하여 사용하는 것을 말합니다. Overriding을 사용하는 이유는 부모 class 형으로 선언된 자식 인스턴스를 통일된 방식으로 사용하기 위함이라고 볼 수 있습니다. 대표적인 예로 도형을 그리는 로직이 있습니다. public class Test { public static void main(String[] args){List shapes = new ArrayList();shapes.add(new Circle());shapes.add(new Circle());shapes.add(new Rect());shapes.add(new Rect());for(Shape s : shapes) {s.dra..
String 객체 비교 Java에서 객체의 동등성을 비교하는 방법은 두 가지가 있습니다. 하나는 Object.equals 함수를 이용하는 것이고, 다른 하나는 == 연산자를 이용하는 방법입니다. == 연산자를 이용해서 두 개의 객체를 비교할 때에는 두 변수가 힙 메모리 상에 동일한 주소를 가르키고 있는지를 확인합니다. 그래서 같은 내용을 가진 객체라도 힙 메모리 상에 각자 올라가 있는 상태라면 == 연산자 비교시 false 값을 가지게 됩니다. String a = new String("hello");String b = new String("hello");a == b; //false new 키워드를 사용해서 객체의 인스턴스를 생성할 경우 힙 메모리 상에 해당 객체정보가 올라가고, 할당하고자 하는 변수에 그..
Java String #1 String은 Java에서 굉장히 많이 사용되는 변수 타입 중에 하나이며, 또한 관리되어야 할 리소스의 한 종류라고 할 수 있습니다. String은 Primitive 타입과 비슷한 성질을 가지기도 하고, 반면 일종의 class 처럼 동작하기도 합니다. 이런 특이상 성질을 가지고 있고, 잘못 사용하면 service에 잘못된 영향을 줄 수도 있는 String에 대하여 한번 알아보고자 합니다. - String은 변경 불가능 객체이다 (immutable) String 객체의 내부 값을 변경하는 것은 불가능하기 때문에, 문자열을 수정하는 모든 mathod는 수정된 새로운 문자열을 반환해 주는 방식으로 동작합니다. String으로 선언된 변수는 해당 변수에 새로운 String을 할당해 주..