-
객체지향이란 ? 객체지향 특징 4가지ProgrammingTheory/OOP 2023. 4. 7. 20:50
수정 : 23년 4월 8일
"객체지향"이란
공통된 로직 ,공통된 데이터를 하나로 묶어서 하나로 관리를 하는 것 이다."
라는 답변은 22년 9월 , 객체지향의 사실과 오해 및 오브젝트 를 읽기전, 우아한 테크 코스 프리코스 참여 전에 생각한 답변이다.
OOP : 객체 지향 프로그래밍 이다.
객체라는 말이 오해를 만든다고 포* 선생님은 "개체" 라고 부르신다.
공통된 로직 ,공통된 데이터를 하나로 묶어서 하나로 관리를 하는 것 은 객체지향이 아니라 캡슐화 이다.
객체지향 프로그래밍을 한다라는 것은 , 객체들이 메시지를 통하여 외부의 요청에 대하여 객체간 서로 상호작용을 하여 원하는 목적을 이루게 하는 프로그래밍을 하는 관점을 가지는 프로그래밍을 하자라는 페러다임이라고 이해를 하자.
왜 관점인가 ?
컴퓨터 하드웨어는 절차지향이 기본이다. 제 아무리 누가 독립적으로 프로그램이 실행된다고 해도 그건 잘못된 표현인듯 싶다. 010101 로 이루어진 바이너리 코드를 읽는 컴퓨터 입장에서는 뭐지 싶을 것이다.
또한 단순 하게 자바라는 언어를 사용한다라고 해서 객체지향적인 프로그래밍을 한다라고 표현하기는 어려울 것이다.
캡슐화를 통하여 객체들의 독립성을 보장하며 인터페이스를 활용하여 미래의 변경사항의 대하여 유연하지만 파급력이 적은 방식으로 프로그래밍을 설계를 해야한다.
객체지향 특징 4가지
1. 추상화
- 객체들의 공통적인 속성과 기능을 모아 추출 한다.
불필요한 내용을 제거 해야한다.
- abstract class ,interface 등을 공부해보자
2. 다형성
- 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태를 가질 수 있는 성질이다.
- 머서드 오버라이딩 , 오버로딩 으로 구현이 가능하다
3.캡슐화
은닉화는 외부에서 객체의 속성을 함부로 접근하지 못하도록 하는 것
캡슐화는 데이터와 그것을 처리하는 메서드를 하나로 묶되 정보들을 은닉 해야한다.
- 은닉화는 큰 범주의 개념이다.
객체의 구체적인 타입을 은닉하는 업캐스팅
객체의 필드 및 메소드를 은닉하는 캡슐화
인터페이스 와 추상클라스를 이용한 구현 은닉
4. 상속
- 기존의 클래스(상위)를 "재활용"하여 새로운 클래스(하위 클라스)를 작성하는 자바의 문법 요소 이다.
참고
💠 캡슐화 & 정보 은닉 개념 - 제대로 이해하기
캡슐화 (Encapsulation) 캡슐화란 쉽게 말하면 변수나 메소드들을 캡슐로 감싸서 안보이게 하는 정보 은닉 개념중 하나이다. 우리가 먹는 알약을 생각해보면 된다. 알약의 실제 약 내용은 가루약이
inpa.tistory.com
'ProgrammingTheory > OOP' 카테고리의 다른 글
우아한 객체 지향 정리 (유투브) (0) 2023.11.08 설계 품질 TradeOff [오브젝트 chpt 4] (1) 2023.04.07 RDD & SOLID 원칙 [오브젝트 chpt 3] (0) 2023.03.31 객체지향의 사실과 오해 [chpt 5,6] (0) 2023.03.24 객체지향의 사실과 오해 [chpt 3,4] (0) 2023.03.24