Java (2) 썸네일형 리스트형 String과 StringBuffer, StringBuilder의 차이점 String은 변경이 불가능한 클래스(immutable class)입니다. 한번 생성된 String 인스턴스가 갖고 있는 문자열을 변경하거나 추가하게 되면 새로운 char형의 배열을 선언하게 됩니다. 따라서 문자열의 변경, 추출 등의 작업이 많은 경우에는 String 인스턴스가 계속 생겨나고 새로운 문자열이 메모리의 String Pool이라는 공간에 올라가기 때문에 속도도 저하되고 점점 더 많은 메모리를 차지하게 되어 프로그램 성능에 영향을 줄 수 있습니다. 이러한 문자열 변경 작업으로 인한 성능을 개선시키기 위해서는 내부적으로 문자열 편집을 위한 버퍼를 가지고 있으며, 이 버퍼의 크기를 넘어가지 않는 한에서는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 있는(mutable) StringBuffer .. 객체 지향 설계 5가지 SOLID 원칙 좋은 객체 지향 설계의 5가지 SOLID 원칙 (로버트 마틴) 1. SRP / Single Responsibility Principle 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임의 기준은 변경. 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. 2. OCP / Open Closed Principle 개방 폐쇄 원칙 소프트웨어 요소(개체)는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 소프트웨어 개체의 행위는 확장될 수 있어야 하지만, 이때 개체를 변경해서는 안된다. => 다형성을 활용해 인터페이스를 구현한 새로운 클래스를 만들어 새로운 기능을 구현하도록 한다. 3. LSP / Liskov Substitution Principle 리스코프 치환 원칙 프로그램의 객체는 프.. 이전 1 다음