# 객체 지향 프로그래밍

31개의 포스트

[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 5장 객체 지향 설계 5원칙 - SOLID

SRP(Single Responsibility Principle): 단일 책임 원칙OCP(Open Closed Principle): 개방 폐쇄 원칙LSP(Liskov Substitution Principle): 리스코프 치환 원칙ISP(Interface Segregat

약 4시간 전
·
0개의 댓글

[스프링 입문을 위한 자바 객체 지향의 원리와 이해] - 4장 자바가 확장한 객체 지향

추상 메서드(Abstract Method): 선언부는 있는데 구현부가 없는 메서드추상 클래스: 인스턴스, 즉 객체를 만들 수 없다. 즉, new를 사용할 수 없다.추상 메서드는 하위 클래스에게 메서드의 구현을 강제한다. 오버 라이딩 강제.추상 메서드를 포함하는 클래스는

약 9시간 전
·
0개의 댓글

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

객체 지향의 4대 특성 : "캡! 상추다"캡슐화(Encapsulation): 정보 은닉(information hiding)상속(Inheritance): 재사용 → extends(확장)추상화(Abstraction): 모델링다형성(Polymorphism): 사용 편의클래

어제
·
0개의 댓글

[스프링 입문을 위한 자바 객체 지향의 원리와 이해] - 2장 자바와 절차적/구조적 프로그래밍

프로그램은 개발자가 개발 도구를 이용해 개발하고 운영체제를 통해 물리적 컴퓨터인 하드웨어 상에서 구동된다.자바 개발자는 본인이 사용 중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데

5일 전
·
0개의 댓글
post-thumbnail

[스프링 입문을 위한 자바 객체 지향의 원리와 이해] - 1장 사람을 사랑한 기술

객체 지향에 대한 이해는 스프링 프레임워크를 이해하기 위한 필수 조건이다CBA(Component Based Development)컴포넌트 기반 개발(블록화 개발)애플리케이션을 의미 있는 단위로 구분하고 그 단위를 하나 하나씩 부품으로 개발해 마치 레고 블록을 쌓아 올리

5일 전
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] DIP

의존 역전 원칙고수준 모듈은 저수준 모듈의 구현에 의존하면 안 됨저수준 모듈이 고수준 모듈에서 정의한 추상타입에 의존해야 함DIP는 유연함을 높임고수준 모듈의 변경을 최소화하면서 저수준 모듈의 변경 유연함을 높임부단한 추상화 노력 필요처음부터 바로 좋은 설계가 나오지는

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 의존과 DI

기능 구현을 위해 다른 구성 요소를 사용하는 것의존의 예: 객체 생성, 메서드 호출, 데이터 사용의존은 변경이 전파될 가능성을 의미의존하는 대상이 바뀌면 바뀔 가능성이 높아짐예: 호출하는 메서드의 파라미터가 변경예: 호출하는 메서드가 발생할 수 있는 익셉션 타입이 추가

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 기능과 책임 분리

하나의 기능은 여러 하위 기능 이용해서 구현분리한 하위 기능을 누가 제공할지 결정하는 것 → 객체 지향 설계의 기본 과정기능을 분리하고 각 객체에게 분리한 기능을 제공할 책임을 배분하는 것 (기능은 곧 책임)클래스나 메서드가 커지지 않도록 책임을 분배/분리하는 방법패턴

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 상속보단 조립

상속은 상위 클래스의 기능을 재사용, 확장하는 방법으로 활용하나..→ 상속을 통한 기능 재사용 시 단점 발생상위 클래스 변경이 어려움 상위 클래스 변경의 여파가 계층도에 따라 하위 클래스로 영향을 줌으로 잘못 변경 시 하위 클래스들이 모두 비정상적으로 작동할 수

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 추상화 예제

추상화를 하지 않는다면?요구 사항의 변경이 있을 시 코드 구조가 복잡해지고 관련 코드가 여러 곳에 분배됨으로 코드의 가독성과 분석 속도가 저하된다.

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 다형성과 추상화

여러(poly) 모습(morph)을 갖는 것객체 지향에서는 한 객체가 여러 타입을 갖는 것한 객체가 여러 타입의 기능을 제공타입 상속으로 다형성 구현 - 하위 타입은 상위 타입도 됨데이터나 프로세스 등을 의미가 비슷한 개념이나 의미 있는 표현으로 정의하는 과정두 가지

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 캡슐화

데이터 + 관련 기능 묶기객체가 기능을 어떻게 구현했는지 외부에 감추는 것(구현에 사용된 데이터의 상세 내용을 외부에 감춤)정보 은닉(Information Hiding) 의미 포함캡슐화를 통해 기능을 사용하는 코드에 영향을 주지 않고 (또는 최소화) 내부 구현을 변경할

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 객체

절차 지향 : 데이터를 여러 프로시저가 공유하는 방식객체 지향 : 데이터와 프로시저를 객체라는 단위로 묶고 데이터에 직접 접근을 할 수 없고 프로시저를 이용해 데이터에 접근하는 방식https://s3-us-west-2.amazonaws.com/secure.no

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] OT

첫 릴리즈로부터 릴리즈를 계속할수록 코드 한 줄 당 비용이 높아짐.실제 코드 줄 수는 큰 폭으로 증가하지 않지만 한 줄 당 비용이 증가함.주요 원인 : 코드 분석 시간 증가와 코드 변경 시간 증가소프트웨어의 가치 : 변화"keep being useful in a cha

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 오버라이딩(재정의)

상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 상속

기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것기존에 작성된 클래스 재활용 가능자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성해 놓으면, 자식 클래스에서는 해당 멤버를 작성하지 않아도 됨.클래스 간의 계층적 관계를 구성함으로써 다

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 인터페이스

자바에서는 클래스를 통한 다중 상속은 지원하지 않고 인터페이스를 통해 다중 상속을 지원 → 다중 상속의 모호성 해결추상 클래스는 추상 메소드뿐만 아니라 생성자, 필드, 일반 메소드도 포함할 수 있지만 인터페이스(interface)는 오로지 추상 메소드와 상수만을 포

2021년 2월 6일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 추상 클래스

하나 이상의 추상 메소드를 포함하는 클래스객체 지향 프로그래밍에서 중요한 특징인 '다형성'을 가지는 메소드의 집합을 정의할 수 있도록 해줌 (즉, 반드시 사용되어야 하는 메소드를 추상 클래스에 추상 메소드로 선언해 놓으면, 이 클래스를 상속받는 모든 클래스에서는 이 추

2021년 2월 5일
·
0개의 댓글
post-thumbnail

[객체 지향 프로그래밍 입문 - 인프런] 접근 제어자

public : 접근 제한이 없음private : 자기 자신의 클래스 내에서만 접근 가능protected : 동일한 패키지 내에 존재하거나, 파생 클래스에서만 접근 가능default : 접근 제어자를 명시하지 않을 경우 접근 제어의 기본 값으로 붙고, 동일한 패키지 내

2021년 2월 5일
·
0개의 댓글

OOP(객체 지향 프로그래밍)

OOP(객체 지향 프로그래밍)이란?객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호 작용을 통해 로직을 구성하는 프로그래밍 방법이다. 여기서 말하는

2021년 1월 22일
·
0개의 댓글