본문 바로가기
STUDY/CS

객체지향 프로그래밍에 대해 아라보자!

by 23g 2025. 3. 28.

 

안냐세요

오늘은 객체지향 프로그래밍의 4가지 개념에 대해 알아보겠습니다

 

추상화 (Abstraction)

  • 개념: 불필요한 세부 사항을 숨기고, 중요한 부분만 노출하여 공통된 특징으로 일반화하는 것
    즉, 객체나 클래스의 복잡한 내부 구현을 숨기고, 외부에 필요한 인터페이스만 제공함
  • 장점: 세부적인 구현을 몰라도 필요한 기능을 사용할 수 있으며, 코드의 복잡도를 줄여 직관적으로 작업할 수 있음
    또한, 변경이 발생해도 인터페이스만 유지되면 외부 코드에 영향을 미치지 않음

출처 : 코드 스테이츠

다형성 (Polymorphism)

  • 개념: 같은 이름의 메서드나 함수가 다양한 자료형이나 객체에서 다르게 동작할 수 있는 특성
    이를 통해 동일한 이름의 메서드를 호출하더라도 객체의 종류에 따라 다른 동작을 할 수 있음.
  • 장점: 코드의 유연성과 재사용성을 높임
    동일한 인터페이스를 통해 다양한 객체를 처리할 수 있어, 코드가 더 확장 가능하고 유지보수가 쉬워짐.

오버라이딩 (Method Overriding) / 오버로딩 (Method Overloading)

  • 오버라이딩: 자식 클래스에서 부모 클래스의 메서드를 재정의하여, 자식 클래스에 맞게 동작을 변경하는 것
  • 오버로딩: 같은 이름의 메서드를 여러 번 정의하되, 파라미터의 개수나 타입이 달라서 여러 형태로 사용할 수 있게 하는 것

출처 : 코드 스테이츠

캡슐화 (Encapsulation)

  • 개념: 객체의 내부 구현을 외부에서 직접 접근할 수 없도록 숨기고, 필요한 기능만을 공개하는 것
    이는 객체의 속성에 대한 접근을 제한하고, 메서드를 통해 외부와 소통하게 함.
  • 장점: 객체의 데이터 보호와 안전성 보장
    외부에서 직접 속성에 접근하지 못하게 하여, 데이터 변경 시 오류를 줄이고, 코드 변경 시 외부에 미치는 영향을 최소화함

상속은 그림 찾기 실패,,,쩝

상속 (Inheritance)

  • 개념: 상위 클래스(부모 클래스)의 속성과 메서드를 하위 클래스(자식 클래스)가 상속받아 사용하는 것
    상속을 통해 기존 클래스를 재사용하고, 기능을 확장하거나 수정할 수 있음
  • 장점: 코드 재사용성과 유지보수성을 높여줌
    상위 클래스에서 공통적인 기능을 정의하고, 하위 클래스에서 필요한 기능만을 추가하거나 수정할 수 있어 중복 코드를 줄임

 

'STUDY > CS' 카테고리의 다른 글

코드 작성 시 표기법에 대해 알아보자ㅏㅏㅏ  (0) 2025.04.18
순수함수에 대해 R아보자  (0) 2025.04.18
SOLID 5원칙을 아라보자!!!  (0) 2025.03.27