아래 글은 공부를 위해 객체지향의 원리 및 이해를 정리한 것 입니다.

 

📃 참고도서

 

스프링 입문을 위한 자바 객체 지향의 원리와 이해

COUPANG

www.coupang.com

 

 

 

 

# 추상화란?

  • 추상 / 추상화는 일반인이 생각하는 의미와 전산용어로서의 의미가 다르지 않다.
  • 전산 분야에서 추상화는 영어로 Abstraction
  • 피카소로 인해 널리 알려진 추상화는 영어로 Abstract Paintiing과 같은 Abstract 이다.

 

이집트 벽화(출처 : Pixabay)

  • 피카소는 극사실주의와 같이 눈에 보이는 그대로의 사물(객체)을 그린 것이 아니라,
    마음 속에 느껴지는 그 사람의 특징을 그렸다.
  • 이집트 벽화(위 사진)을 보면 사람마다 키가 제각각인 것을 알 수  있다.
    바로 그 시대의 권력 크기에 비례해 키를 그렸다고 한다.
  • 이집트 화가는 실제 모습이 아닌 추상적인 모습을 그려서 오히려 그 인물의 특징을 더욱 정확하게 묘사했다.

 

 

 

 

# 추상화는 모델링이다.

 

  • 객체 지향의 4대 특성은 클래스를 통해 구현된다.(또는 객체)

  • 객체 : 세상에 존재하는 유일무이한 사물
  • 클래스 : 분류, 집합 같은 속성과 기능을 가진 객체를 총칭하는 개념

 

 

 

클래스 : 객체 = 펭귄 : 뽀로로 =사람 : 김연아 = 쥐 : 미키마우스

 

- 세상에 존재하는 유일무이한 객체를 특성(속성 + 기능)에 따라 분류해 보니,
  객체를 통칭할 수 있는 집합적 개념, 즉 클래스(분류)가 나오게 된다.

 

  • 객체는 유일무이한(unique)한 사물이다.
  • 클래스는 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개념이다.
  • 클래스를 이용해 object를 만들었다는 것을 강조할 때는 object라는 표현보다는,
    클래스의 인스턴스(instance)라는 표현을 쓴다.

 

 

 

추상화란 구체적인 것을 분해해서 관심 영역(어플리케이션 경계, Application Boundary)에

있는 특성만 가지고 재조합 하는 것 => 모델링

 

  • OOP의 추상화는 모델링이다.
  • 클래스 : 객체 = 펭귄 : 뽀로로
  • 클래스 설계에서 추상화가 사용된다.
  • 클래스 설계를 위해서는 애플리케이션 경계부터 정해야 한다.
  • 객체 지향에서 추상화의 결과는 클래스다.

 

 

클래스 객체_참조_변수 = new 클래스 ()
객체_참조_변수의
자료형(Type)
생성된 객체를 참조할 수 있는 변수 할당문 새로운 만들고자 하는 객체의 분류 메서드
  클래스의 인스턴스, 즉 객체를 생성하기 위해 객체 생성자를 호출
새로운 객체를 하나 생성해 그 객체의 주소값(포인터)을 객체 참조 변수에 할당

 

 

 

반응형

+ Recent posts