본문 바로가기

2. Computer Science/언어2

OOP 5대 원칙과 4가지 특징 OOP 란? Object Oriented Programming, 객체 지향 프로그래밍. 객체 지향 프로그래밍의 5대 설계 원칙(SOLID) 1. 단일 책임의 원칙(SRP, Single Responsibility Principle) 객체는 단 하나의 책임만 가져야 한다. 2. 개방 폐쇄 원칙(OCP, Open-Closed Principle) 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다. 3. 인터페이스 분리 원칙(ISP, Interface Segegation Principle) 인터페이스를 클라이언트에 특화되도록 분리시키라는 설계 원칙 4. 리스코프 치환 원칙(LSP, Liskov Substitution Principle) 일반화 관계에 대한 이야기이며, 자식 클래스는 최소.. 2022. 7. 10.
언어(Java, Kotlin) n. 추상 클래스와 인터페이스의 차이를 설명하시오. 인터페이스는 구현부와 상태를 갖지 않은 채로 규격만 정해져있는 구현체이고, 추상 클래스는 필수 기능과 상태만 구현되어 있는 채로 아직 미완성의 추상화 객체이다. 그러나 추상 클래스와 인터페이스는 추상 메소드를 갖는다는 공통점 때문에 언뜻 보면 비슷해 보이지만, 개인적으로 이 둘의 성격이 완전히 다르다고 생각한다. 인터페이스는 말 그대로 구현체가 정의해야 할 메소드만 명시해 놓은 "규격"으로써, 인터페이스를 구현한 클래스의 타입이라 할 수 있다. 반면에 추상 클래스는 단일 상속만이 가능하며 이미 상태와 기능을 갖고 태어난 놈이기에 클래스 타입이라고 할 수는 없고, 아직 미완성의 추상화된 부모 클래스라고 할 수 있다. Java8 이후 부터 인터페이스에서도 .. 2022. 7. 10.