[ STUDY ]/CS

객체 지향 프로그래밍

김강니 2024. 12. 19. 22:40

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

객체 지향 프로그래밍은 객체 중심의 프로그래밍으로 상속, 캡슐화, 다형성, 추상화라는 특징을 가진다.

상속이란 기존의 클래스를 기반으로 새로운 클래스를 정의하는 것

캡슐화란 클래스안에 변수와 메소드를 묶어 정보를 은닉하여 객체 내부에 접근하지 못하도록 하는 것

다형성이란 하나의 클래스나 객체가 다양한 형태로 기능하는 것

추상화란 핵심적인 기능만 노출하고 세부적인 사항들은 노출하지 않는 것

 

 

오버로딩과 오버라이딩

오버로딩은 동일한 이름의 메소드들이 각각 다른 타입이나 다른 갯수의 인자를 가지고 정의된 것을 말한다.오버라이딩은 부모 클래스에 있는 동일한 이름의 메소드를 재정의하는 것을 말한다.

 

 

다중 상속

한 클래스가 여러 클래스를 상속 받는 것이다. 여러 부모 클래스를 가질 경우 중복되는 코드를 줄여 가독성을 높이고 재사용성을 높일 수 있다. 하지만 클래스간 결합도가 높아져 유지보수가 어려울 수 있다.

 

 

OOP의 5대 원칙 : SOLID

단일 책임 원칙 : 한 클래스에서 하나의 책임만 가진다.개방 폐쇄 원친 : 확장에는 열려있고, 변경에는 닫혀있어야한다.리스코프 치환 원칙 : 상위타입을 상속하여 재정의했을 때 프로그램이 깨지면 안된다.인터페이스 분리 원칙 : 작고 구체적인 인터페이스로 분리해야한다.의존관계 역전 원칙 : 추상적인것은 자신보다 구체적인 것에 의존하면 안된다.