본문 바로가기

객체 지향 프로그래밍 입문3

[객체 지향 프로그래밍 입문] 다형성 과 추상화 다형성 여러 모습을 갖는 것을 말합니다. 객체지향에서는 한 객체가 여러 타입을 갖는 것을 의미합니다. 이 의미로는 한 객체가 여러 타입의 기능을 제공할 수 있습니다. 타입 상속으로 다형성을 구현합니다. 추상화 데이터나 프로세스 등을 의미가 비슷한 개념이나 의미 있는 표현으로 정의하는 과정 추상 타입을 이용한 프로그래밍 Notifier notifer = getNotifier(...); notifier.notify(someNoti); ( 어떤 notifer 에 따라 다른 notify가 적용된다 ) 추상 타입은 구현을 감춤 ( 기능의 구현이 아닌 의도를 더 잘 드러냄 ) 추상화, 다형성 예제 KakaoSender 와 SmsSender 의 공통점을 모아둔 abstract(추상) 클래스 인 ContentSende.. 2022. 4. 20.
[객체 지향 프로그래밍 입문] 캡슐화 캡슐화란 데이터 + 관련 기능 묶기 객체가 기능을 어떻게 구현했는지 외부에 감추는 것 정보 은닉(Information Hiding) 의미 포함 외부에 영향 없이 객체 내부 구현 변경 가능 캡슐화를 하지않았을때 사용자의 정보를 가지고있는 Account package com.example.cap.domain; import com.example.cap.enumType.Grade; import lombok.*; import javax.persistence.*; import java.time.LocalDate; @NoArgsConstructor @AllArgsConstructor @Builder @Setter @Getter @Entity public class Account { @Id @GeneratedValue.. 2022. 4. 16.
[객체 지향 프로그래밍 입문] 객체 절차 지향 프로그래밍 과 객체지향 프로그래밍 의 차이 절차지향은 말 그대로 절차적( 순차적 )으로 흘러가는 코드를 말하고 객체지향 언어는 1. 캡슐화, 다형성, 클래스, 상속을 지원하는가? 2. 데이터 접근 제한을 걸 수 있는가? 이와 같은 성격이 있어야 객체지향 적인 프로그래밍이라고 할 수 있습니다. 경험 저는 프로그래밍을 시작할때 C언어로 시작을 했습니다. C언어는 절차지향 프로그래밍언어의 대표적인 예로 프로그래밍을 입문했을때 절차적으로 코드를 술술 짜면 되서 C언어로 인해서 코딩에도 흥미를 느끼게 되는 계기였습니다. C언어를 하다가 JAVA 를 시작을 했는데, 처음에는 너무 어려웠습니다. ( 지금도 어렵게 생각합니다.. ) 객체가 뭐지? 생성자? 클래스? 등의 개념적인 문제도 있었고, 자바를 절차지.. 2022. 4. 13.