SOLID ?

Single Responsibility Principle(단일 책임 원칙)

여러가지 책임을 하고 있는 경우

public class Character {
	
	String position;

	public Character(String position) {
		this.position = position;
	}

	public String attack() {
			if (position == "검사") {
				return "칼로 휘두른다.";
			} else {
				return "활을 쏜다.";
			}
	}

}

한가지 책임만 하는 경우

public abstract class Character {
		public abstract String attack();
}

public class Warrior extends Character {
		public String attck() {
			return "칼을 휘두른다.";
		}
}

public class Archer extends Character {
		public String attck() {
				return "활을 쏜다.";
		}
}

Open-Closed Principle(개방-폐쇄 원칙)

예시