본문 바로가기
반응형

전체 글118

불변(Immutable)객체 불변 객체는 상태 변경이 불가능한 객체이다.수정자 메서드를 막고 read-only 메서드만 제공하며 참조 속성의 불변성을 지키기 위해 방어적 복사 메서드가 제공되기도 한다. ex) String, 원시타입의 래퍼타입(Boolean, Integer, Float, Long, Double), ResultSet 불변객체 생성1. 접근지정자 private 지정2. final 선언 3. 수정자 메서드 제공 금지 외부에서 접근이 불가하도록 private으로 선언하고, final을 통해 초기화 이후 값 변경이 불가하게 만든다.수정자 메서드를 제공하지 않음으로써 값이 변경되지 않음을 보장한다.public class Member { private final String email; private final Strin.. 2023. 11. 15.
인터페이스와 추상클래스의 차이 인터페이스란 구현체들의 동일한 행위를 보장한 추상 자료형으로 일종의 계약서 또는 설계서이다.추상클래스란 하나 이상의 추상 메서드를 포함한 클래스를 추상 클래스라고 하며 복제와 확장의 목적으로 쓰인다.(추상 메서드 없이 추상 클래스 선언 가능하나 구체 클래스와 차이가 없음) 인터페이스와 추상클래스는 모두 인스턴스화가 불가하고 구현체에서 추상 메서드를 반드시 오버라이딩 해야한다는 공통점이 있다.허나, 인터페이스와 추상 클래스는 구조적으로 큰 차이가 있고, 이로인해 그 사용성에도 큰 차이점이 있다. 인터페이스와 추상클래스의 차이점1. 구현부의 존재여부 : 캡슐화인터페이스는 메서드의 구현부가 없는 추상 메서드로만 이루어져있다. 이에 반면 추상 클래스는 메서드의 구현부가 존재한다."추상 클래스"의 구현부는 하위 .. 2023. 11. 15.
객체지향 설계의 SOLID 원칙 SOLID 원칙이란?객체지향 프로그래밍 설계의 다섯가지 기본 원칙으로 높은 응집도와 낮은 결합도 확장성 있는 시스템을 갖추도록 함SRP(Single Responsibility Principle) : 단일 책임 원칙OCP(Open/Close Principle) : 개방/폐쇄 원칙LSP(Liskov Substitute Principle) : 리스코프 치환 원칙ISP(Interface Segregation Principle) : 인터페이스 분리 원칙DIP(Dependency Inversion Principle) : 의존성 역전 원칙 1. SRP(Single Responsibility Principle) : 단일 책임 원칙모듈이나 클래스는 하나의 책임을 가져야 한다클래스를 변경해야하는 이유는 오직 하나 뿐이어야.. 2023. 11. 15.
[백준 1463번 - dp] 1로 만들기(java) 백준 1463 - dp 난이도 - 실버 3 더보기 1로 만들기 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 예제 입력 1 2 예제 출력 1 1 예제 입력 2 10 예제 출력 2 3 정답풀이 : import java.io.*; import java.util.*; public class Main{ public stati.. 2023. 8. 28.
반응형