본문 바로가기
개발 노트/기초 지식

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

by tokkiC 2022. 5. 2.

기억하자 추 캡 상 다

º


추상화 abstraction


객체를 설명하기위해 객체들의 공통적인 특징들을 가진 것끼리 묶어 클래스라는 추상적인 객체를 만드는 것
클래스가 없는 객체지향 언어도 있다 (javascript)

º

캡슐화 encapsulation


객체의 변수(속성) 과 메소드를 묶어 구현내용을 외부에 감추는것
외부의 객체는 구현 부분을 알지 못하니 정보를 은닉할 수 있고 객체를 보호하는 기능도 있다
java 에서는 접근제한자를 사용하여 캡슐화 하고 있다

º

상속 inheritance


이전에 작성한 클래스(부모클래스, 상위클래스)의 속성(변수, 메소드 등의 기능)을 받아서
새로운 클래스 (자식클래스, 하위클래스) 에서도 사용 가능하도록 한 것
중복되는 코드(기능)를 부모 클래스에 넣고 기능을 받아사용하여 코드의 재사용성이 높아지고 유지보수가 편해진다
객체의 다형성을 구현 가능할 수 있게 한다

º

다형성 polymorphism


부모클래스의 메소드를 상속받아 해당 메소드에 매개변수에 따른 추가기능을 추가하는 오버로드와
부모클래스의 메소드를 상속받아 해당 메소드의 기능을 재정의하여 일부 변경하여 사용하는 오버라이딩이 다형성을 이용한 것이다. 이처럼 다형성을 통해 중복된 코드를 줄이고 메소드를 효율적으로 사용할수있다

º


+@ ( 동적 바인딩 dinamic biding )


저번 글의 동적 바인딩도 객체지향 프로그래밍의 특징 중 하나이다. 하지만 4가지 특징으로는 인정받지 못한다

댓글