JAVA 면접 대비

배추·2023년 7월 3일
0

객체 지향 프로그래밍의 4가지 특징

1. 상속(Inheritence)

기존의 클래스를 재활용하여 새로운 클래스를 작성하는 것

2. 추상화(Abstraction)

객체의 공통적인 속성과 기능을 추출하여 정의하는 것

3. 캡슐화(Encapsulation)

데이터의 보호를 위해 최소한으로 필요한 부분만 외부로 노출될 수 있도록 하는 것

4. 다형성(Polymorphism)

객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할 수 있는 객체 지향의 특성

  • Method Overloading
    두 메서드가 같은 이름을 갖고 있으나 인자의 수나 자료형이 다른 경우

  • Method Overridding
    상위 클래스의 매서드를 하위 클래스에서 재정의 하는 것

객체지향 설계 5대(SOLID) 원칙

SRP, OCP, LSP, ISP, DIP를 말한다.

1. 단일 책임 원칙(Single Responsibility Principle)

모든 클래스는 각각 하나의 책임만 가져야 하는 원칙.
변경이 있을 때 파급 효과가 적으면 원칙을 잘 따른 것.

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

확장에는 열려있고 수정에는 닫혀있는 기존의 코드를 변경하지 않으면서(Closed) 기능을 추가할 수 있도록(Open) 설계가 되어야 한다는 원칙.

3. 리스코프 치환 원칙(Liskov Substitution Principle)

자식 클래스는 언제든 프로그램의 정확성을 깨뜨리지 않으면서 자신의 부모 클래스를 대체할 수 있다는 원칙.

4. 인터페이스 분리 원칙(Interface Segregation Principle)

한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 하는 원칙.
즉 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.

5. 의존 역전 원칙(Dependency Inversion Principle)

추상화에 의존하고 구체화에 의존하지 않는 원칙.
즉 구현 클래스에 의존하지 말고, 인터페이스에 의존.

profile
배추도사

0개의 댓글