OOP_객체 지향 언어

Brogod97·2022년 12월 15일
0

KH TIL

목록 보기
14/37
post-thumbnail

객체 지향 언어란 무엇인가?

현실 세계는 사물이나 개념처럼 독립되고 구분되는 각각의 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다.

이 개념을 컴퓨터로 옮겨 놓아 만들어낸 것이 객체지향 언어이다.

  • 객체(Object) : 독립적으로 각각 구분해서 인식할 수 있는 모든 것
    ex) 키보드, 김치, 옆집 아저씨, 나, 미세먼지, 모래 한 알, 무형 문화제 ... 등 유/무형의 수많은 것들이 객체에 해당 된다고 볼 수 있음

  • 지향 (Oriented): 어떠한 것을 목표로 함
    객체 지향: 독립적으로 각각 구분해서 인식할 수 있도록 하는 것을 목표로 함

  • 언어(컴퓨터에서의 언어: Language, 코드): 코딩 방식

객체 지향 언어 = 독립적으로 각각 구분해서 인식할 수 있는 것을 목표로 하는 코딩 방식


객체 지향 3 + 1대 특징

  1. 캡슐화 (Encapsulation)
    보호 역할 : 외부로부터의 접근을 막는다 (정보 은닉)

  2. 상속 (Inheritance)
    부모 → 자식에게 물려주는 것 (속성, 기능) + 자식이 이미 가지고 있는 것

  3. 다형성 (Polymorphism)
    다양한 형태를 지니는 성질

  4. 추상화 (Abstraction)
    구체적의 반대 개념으로, 일반적이고 추상적인 특성은 추출하고 구체적인, 불필요한 특성은 제거하는 것

    => 추상화에 대한 이해를 돕기 위한 설명으로 피카소의 작품을 통해 설명함


현실에서 객체(Object)란 ?

자신의 속성(값, data)기능(동작,행동)이 다른 것들 과 구분되어 식별 가능한 것

  • ex) 사람이 객체라면, 이름, 나이 , 국적, 키 등이 속성에 해당됨
    잠을 자고, 밥을 먹고, 운전하는 등의 행동은 기능에 해당됨

  • 속성은 변수로 나타낼 수 있음
    기능은 메소드로 나타낼 수 있음

자바에서 객체(Object)란 ?

클래스에 정의된 내용대로 new 연산자를 통해 메모리 영역에 생성된 것

new 연산자를 통해 메모리 영역에 생성된 배열도 객체임

0개의 댓글