반응형

Java 4

객체 지향 설계의 5원칙(SOLID)

서론 자바를 공부하는 개발자라면 객체지향의 5원칙 SOLID에 대해서 들어본 적이 있을 것이다. 하지만 해당 부분을 공부하다 보면 너무 추상적이라고 느껴져 포기하거나 공부하더라도 몇일 후면 까먹는 일이 많다. 오늘은 객체지향의 5원칙을 하나씩 살펴보고 비유와 함께 확인하면서 왜 이것을 지켜야 하는지 생각해보려 한다. 객체지향의 5원칙에는 아래 5가지 종류가 있다. 1. SRP(Single Responsibility Principle) : 단일 책임 원칙 2. OCP(Open Closed Principle): 개방 폐쇄 원칙 3. LSP(Liskov Substitution Principle): 리스코프 치환 원칙 4. ISP(Interface Segregation Principle): 인터페이스 분리 원칙..

Java 2023.05.30

[JAVA] Singleton 패턴에 대해 알아보자

서론 Singleton패턴이 무엇이고 언제 쓰이는지 어떻게 구현하는지에 대해 작성하였으며 구현 방식은 Java언어를 통해 작성하였다. HeadFirst DesignPattern 책을 참고하여 작성하였다. 목차 1. Singleton 패턴이 무엇인가? 2. 고전적인 Singleton 패턴 구현방법 3. 개선된 Singleton 패턴 구현방법 1. Singleton 패턴이 무엇이고 언제 사용되는가? 우리가 생성하는 객체중에서는 프로그램에서 유일하게 만들어져야하는 객체들이 있다. 예를 들어, 스레드 풀, 사용자 설정을 처리하는 객체, 로그 기록용 객체, 프린터나 그래픽 카드 같은 디바이스를 위한 디바이스 드라이버 객체가 이런것이다. 이러한 객체들은 프로그램 내에서 유일해야 하며, 만약 여러개의 객체가 생성된다..

Java 2023.04.11

String vs StringBuffer vs StringBuilder

Java에서는 같은 String이라도 String,StringBuffer,StringBuilder와 같이 비슷해보이는 다양한 클래스를 제공한다. 위 3가지 클래스를 비교해보고 어떤 차이점이 있는지 알아보자. 궁금증? 필자는 스터디중 아래와 같은 코드를 만나게 됐다. String myName = "jinwoo"; String yourName; yourName = myName; System.out.println(yourName); yourName = "Ayyan"; System.out.println(yourName); System.out.println(myName); 위 코드를 본 필자는 myName과 yourName은 참조변수이기 때문에 1. yourName은 myName과 함께 "jinwoo" 문자열이 ..

Java 2023.04.03

동등성(Equality) VS 동일성(Identity)

동등성 vs 동일성 동등성: 두 객체의 내용이 완전히 동일한 것 동일성: 두 참조변수가 같은 메모리 공간을 가리키고 있는경우. 즉 주소값이 같은경우 Member member1=new Member('이안',1); Member member2=new Member('이안',1); Member member3=member1 System.out.println(member1==member2); // 1 System.out.println(member1==member3); // 2 Java에서 참조변수 끼리의 ==연산은 참조변수의 값. 즉, 참조변수가 가리키고있는 메모리 주소의 값을 비교한다. 따라서 이는 동일성을 비교하는 것으로 볼 수 있다. 1번: member1==member2? Java에서 객체가 생성될 때 힙공간에..

Java 2023.02.15
반응형