[Spring] SOLID : 객체지향 설계의 5가지 원칙(5) [DIP(Dependency Inversion Principle) : 의존 역전 원칙]
·
▣ Framework/Spring🍃
- DIP(Dependency Inversion Principle) : 의존 역전 원칙 의존 역전 원칙은 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 되며, 추상화된 것은 구체적인 것에 의존해서도 안 된다는 원칙이다. 이 원칙을 지키면서 코드를 작성하면, 모듈간의 결합도를 낮출 수 있다. 아래는 의존 역전 원칙이 위배된 코드이다. public class UserService { private Database database = new Database(); public void createUser(String username, String password) { // DB에 사용자 생성 database.insertUser(username, password); } public void deleteUs..
[JAVA] short 타입과 byte 타입을 연산하면 어떤 결과가 나올까? [Java 연산 처리 최소 단위와 산술 변환]
·
◎ Java/Java☕
- short 타입과 byte 타입을 연산하면 어떤 결과가 나올까? Java에서 short나 byte와 같은 작은 정수형 타입은 산술 연산을 수행할 때 int 타입으로 자동으로 형변환된다. (정수형 연산 시 발생하는 오버플로우(overflow)나 언더플로우(underflow)를 방지하기 위한 것) 예를 들어, short 타입 변수 s1과 s2를 더하면 결과는 int 타입으로 자동 형변환되며, 그 결과를 다시 short 타입 변수에 대입하려면 명시적인 형변환을 수행해야 한다. [JAVA] 산술 변환(usual arithmetic conversion) [피연산자 타입 일치를 위한 자동 형변환] 1. 산술 변환(usual arithmetic conversion) 이항 연산자는 두 피연산자의 타입이 일치해야 연..
[Spring] SOLID : 객체지향 설계의 5가지 원칙(4) [ISP(Interface Segregation Principle) : 인터페이스 분리 원칙]
·
▣ Framework/Spring🍃
- ISP(Interface Segregation Principle) : 인터페이스 분리 원칙 인터페이스 분리 원칙은 클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다. 단일 책임 원칙(SRP)과 밀접한 관련이 있으며, 인터페이스를 작은 단위로 분리함으로써 단일 책임 원칙을 달성할 수 있다. 아래는 인터페이스 분리 원칙에 위배된 코드이다. public interface Machine { void print(); void scan(); void fax(); } public class AllInOneMachine implements Machine { public void print() { System.out.println("Printing..."); } public void scan() {..
[Spring] SOLID : 객체지향 설계의 5가지 원칙(3) [LSP(Liskov Substitution Principle) : 리스코프 치환 원칙]
·
▣ Framework/Spring🍃
- LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 리스코프 치환 원칙은 상속 관계에서 하위 클래스는 상위 클래스를 대체할 수 있어야 한다는 원칙이다. 상위 클래스의 기능을 하위 클래스에서 변경하지 않고 사용할 수 있어야 하며, 상속에서 발생할 수 있는 문제점을 방지한다. 아래는 리스코프 치환 원칙이 위배된 코드이다. class Rectangle { int width; int height; public int getArea() { return width * height; } /* Constructor, getters, and setters */ } class Square extends Rectangle { @Override public void setWidth(int..
[study] Java에서 8진수랑 16진수는 언제 쓸까? [자바 내 8진수와 16진수 사용처]
·
◈ Study/기초튼튼 개발지식🥔
- Java에서 8진수랑 16진수는 언제 쓸까? Java에서 8진수와 16진수는 주로 코드 작성 시 상수를 표현할 때 사용된다. (8진수는 0으로 시작하며, 16진수는 0x 또는 0X로 시작한다.) - 8진수 8진수는 일반적으로 플래그 비트나 퍼미션이 설정된 파일 모드, 네트워크 소켓의 포트 번호, 데이터 마스크 등과 같이 2진수 비트 패턴을 사용해야 하는 경우에 사용된다. 예를 들어, 0664는 파일 모드를 나타내며, 8진수 664를 2진수로 변환하면 110 110 100과 같다. - 16진수 16진수는 보통 메모리 주소나 RGB 색상, 문자열 등을 표현할 때 사용된다. 예를 들어, 0x1A는 16진수로 26을 나타내며, 0xFF0000은 빨간색을 나타내는 16진수 RGB 색상 코드이다. 또한, 16진..