ex) public, private, protected, default
public : 클래스 외부에서 접근 가능
private : 클래스 내부에서만 접근 가능
protected : 상속받은 자식 클래스에서만 접근 가능
- 응집도(Cohesion) : 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타냄
- 결합도(Coupling) : 어떤 기능을 실행하는 데 다른 클래스나 모듈들에 얼마나 의존적인지를 나타냄
Overloading : 동일한 클래스 내에서 같은 이름의 메소드가 파라미터의 개수나 타입에 따라 다른 기능을 하는 것
Overriding : 부모 클래스의 메소드를 자식 클래스의 용도에 맞게 재정의하여 코드의 재사용성을 높임
※ 참고 사이트 https://www.nextree.co.kr/p6960/
두문자 | 약어 | 개념 |
S | SRP | 단일 책임 원칙(Single Responsibility Principle) - 한 클래스는 한 가지 종류의 책임(하나의 개념)만 가져야 한다. - 클래스를 변경해야 하는 이유는 오직 하나 뿐이어야 함을 의미한다. "1인분만 단위로 생각하자! 1인분들을 모아서 리트스화하면 된다!!" |
O | OCP | 개방-폐쇄 원칙(Open/Closed Principle) - 소프트웨어 요소는 확장에는 열려있으나 변경에는 닫혀 있어야 한다. - 기존 구성요소를 수정/변경하기보단 기존 구성요소를 확장해서 재사용해야 한다. "기존 프로그램에 문제가 생기지 않도록!! 우회하는 방향으로 확장!!" " |
L | LSP | 리스코프 치환 원칙(Liskov Substitution Principle) - 서브타입(하위)은 언제나 기반타입(상위)으로 대체(호환)할 수 있어야 한다. - 선언은 기반 클래스로, 생성은 구체 클래스로 대입한다(IS-A관계로 제한). "다형성으로 인한 확장효과를 얻기 위해 지켜야 할 규칙!!" |
I | ISP | 인터페이스 분리 원칙(Interface Segregation Principle) - 클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 가지지 않도록 해야 한다. - 어떤 클래스가 종속될 때에는 가능한 최소한의 인터페이스만을 사용 해야 한다. "인터페이스의 단일 책임을 강조! 인터페이스를 분리해라!" |
D | DIP | 의존관계 역전 원칙(Dependency Inversion Principle) - 고차원 모듈은 저차원 모듈에 의존하면 안된다. - 기초클래스는 하위클래스가 누군지 몰라야 한다. "복잡한 컴포넌트 간의 커뮤니케이션 관계를 단순화하기 위한 원칙!" |
Don't Repeat Yourself!
JAVA. 시스템 입출력 : BufferedReader 와 Scanner 비교 (0) | 2021.06.01 |
---|---|
JAVA. 시스템 입출력 (0) | 2021.06.01 |
JAVA. 자바 메모리 구조 - JVM이란? (0) | 2021.05.22 |
JAVA 6-1. 객체지향 프로그램(객체, 클래스- 필드, 생성자, 메소드) (0) | 2021.05.21 |
JAVA 5. 참조타입과 참조변수, new 연산자 (0) | 2021.05.21 |