■ 객체지향
□ 문법
객체지향을 편하게 할 수 있도록 언어가 제공하는 기능을 익히는 것이다.
이러한 기능들은 if, for문처럼 문법적인 구성을 가지고 있다.
이 문법을 이해하고, 숙지해야 객체를 만들 수 있다.
객체를 만드는 법에 대한 학습이라고 할 수 있다.
□ 설계
좋은 객체를 만드는 법이다.
이것을 다른 말로는 설계를 잘하는 법이라고 할 수 있다.
좋은 설계는 현실을 잘 반영해야 한다. 현실은 복잡하다. 하지만 그 복잡함 전체가 필요한 것은 아니다.
□ 부품화
프로그래밍은 정신적인 활동이다.
정신적인 것은 실체가 없고, 무한하고, 유연하다.
정신의 이러한 특성은 때로 오해나 모순 같은 문제점을 유발한다.
소프트웨어도 이러한 문제점을 그대로 상속받는다.
이러한 문제점을 극복하기 위한 노력 중의 하나가 부품화라고 할 수 있다.
객체지향과 부품화를 동일시 할 수는 없지만
부품화라고 하는 소프트웨어의 큰 흐름은 객체지향이 만들어지는데 지대한 공헌을 했다고 할 수 있다.
이것의 핵심은 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑하는 것이다.
□ 은닉화, 캡슐화
그런데 부품화라고 하는 목표는 단순히 동일한 기능을 하는 메소드와 변수를 그룹핑한다고 달성되는 것은 아니다.
제대로된 부품이라면 그것이 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 한다.
이를테면 모니터가 어떻게 동작하는지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시 할 수 있는 것과 같은 이치다.
즉 내부의 동작 방법을 단단한 케이스 안으로 숨기고 사용자에게는 그 부품의 사용방법만을 노출하고 있는 것이다.
이러한 컨셉을 정보의 은닉화(Information Hiding), 또는 캡슐화(Encapsulation)라고 부른다.
자연스럽게 사용자에게는 그 부품을 사용하는 방법이 중요한 것이 된다.
□ 인터페이스
잘 만들어진 부품이라면 부품과 부품을 서로 교환 할 수 있어야 한다.
인터페이스란 이질적인 것들이 결합하는 것을 막아주는 역할도 하는 것이다.
즉 인터페이스는 부품들 간의 약속이다.
출처 : 생활코딩 유튜브 :
https://www.youtube.com/watch?v=y7Z_Wpgmz-Q&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=69
'Java & Spring > Java' 카테고리의 다른 글
생활코딩 - Java(접근 제어자) (0) | 2024.04.02 |
---|---|
생활코딩 - Java(유효범위) (0) | 2024.03.26 |
생활코딩 - Java(입력과 출력) (0) | 2024.03.25 |
생활코딩 - Java(메소드) (0) | 2024.03.23 |
생활코딩 - Java(배열) (0) | 2024.03.23 |