13일차// 객체지향 프로그래밍 간단정리(1)✍// 시작하기
오늘나간 수업내용
자바 객체지향
-Constructor
-overriding
-접근제어자(은닉성)
-상속
객체지향 프로그래밍
차근차근 내가 아는걸 공부해보자.
-내가 이해 안됬던 구간은 접근제어자 private를 Getter / Setter로 사용하여 은닉한다..라는것이다.
일단 아싸리 객체부터 다시 살펴보자.
(처음부터 문법공부가 너무 부족했다)
객체지향 프로그래밍이란 좀더 원활한 프로젝트(프로그램)을 위한 패러다임이다.
객체라는 말이 나에게 아직 어색해서 수업을 듣는 동안에도 왜? 그래서? 라는 생각으로
수업을 잘 따라가지 못하였다.
객체지향 프로그래밍이란 기능별로 로직을 시킨다는것.
생활코딩에서는 객체는 변수와 메소드를 그룹핑한 것이라고 한다.
단순하게 생각하자.
객체지향 문법
하나는 객체지향을 편하게 할 수 있도록 언어가 제공하는 기능을 익혀야된다고 한다.
이러한 기능들은 if, for문처럼 문법적인 구성을 가지고 있다.
이 문법을 이해하고, 숙지해야 객체를 만들 수 있다. ( 내가 객체를 만들지 못한 이유)
객체를 만드는 법에 대한 학습이라고 할 수 있다.
좋은 객체를 만들어야된다 -> 설계를 잘 할 수 있어야한다.
복잡함 속에서 필요한 관점만을 추출하는 행위를 추상화(abstract)라고 한다.
은닉화, 캡슐화
제대로 된 부품이라면 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면
쓸 수 있어야한다.
이를테면 모니터가 어떻게 동작하는지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시 할 수 있는 것과 같은 이치다.
즉 내부의 동작 방법을 단단한 케이스 안으로 숨기고 사용자에게는 그 부품의 사용방법만을 노출하고 있는 것이다. 이러한 컨셉을 정보의 은닉화(Information Hiding), 또는 캡슐화(Encapsulation)라고 부른다.
자연스럽게 사용자에게는 그 부품을 사용하는 방법이 중요한 것이 된다.
인터페이스
interface
잘 만들어진 부품이라면 부품과 부품을 서로 교환할 수 있어야한다.
ex) 모니터 케이블HDMI
클래스와 인스턴스 그리고 객체
class - 정의, 설계도
instance - 호출, 제품
object - 객체
만약. 이 코드가 1000줄짜리 로직이라고생각해보자
-> 프로그래밍의 가장 중요한 원칙 : 중복의 제거(유지보수, 재활용성의 편의를 위해)
-> +연산이 중복된다.
-> method 사용
어떻게 동작하는지 코드를 볼 수 있다.
Calculator c1 = new Calculator();
Calculator 객체를 만들어 c1이라는 변수에 담았다는것이다.
c1 : instance