TIL (Today I learned
단일 책임 원칙(single responsibility principle)
코딩준우
2024. 3. 6. 21:03
- 객체 지향 프로그래밍에서 단일 책임 원칙(single responsibility principle)이란 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다.
import java.time.LocalDateTime;
public class SRP {
public static int add(int num1, int num2) {
return num1 + num2;
}
public static void numPrint(int num){
System.out.println(num);
}
// 더하기와 프린팅하는 두가지 기능을 가지고 있는 매소드 (분리하여야함)
public static int addPrint(int num1, int num2) {
int num = num1 + num2;
System.out.println(num);
return num;
}
class Cat {
String name;
int age;
public void eat() {
System.out.println("eat()");
}
public void walk() {
System.out.println("walk()");
}
public void speak(){
System.out.println("speak()");
}
// print() 매소드는 고양이의 기능이 아니므로 repr을 이용하여 변경
public void print() {
System.out.println("name: " + name + ", age: " + age);
}
// log() 매소드는 고양이의 기능이 아니므로 repr을 이용하여 변경
public void log() {
System.out.println(LocalDateTime.now() + " : name: " + name + ", age: " + age);
}
// 자기 자신을 소개하는건 올바른 매소드
public String repr() {
return "name: " + name + ", age: " + age;
}
}
}