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

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

3일 전
·
0개의 댓글

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

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

3일 전
·
0개의 댓글

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

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

4일 전
·
0개의 댓글

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

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

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

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

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

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

JVM, JRE, JDK

자바 가상 머신의 줄임말로 자바 프로그램 등을 컴파일하여 만들어진 바이트 코드를 실행해주는 가상 머신자바는 프로그램의 수정없이 어떠한 운영체제에서도 동일한 형태로 실행 가능"한 번 쓰고 모든 곳에서 실행한다(Write Once, Run Anywhere, WORA)"프로

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

Generic

컴파일 타임 버그와 같은 경우, 몇몇 버그들보다 초기에 발견하기가 쉽다. 컴파일러의 오류 메세지를 사용하여 문제가 무엇인지를 찾고 즉시 수정할 수 있다. 하지만 런타임에 발생한 버그들은 문제가 즉시 드러나지 않기 때문에 훨씬 더 큰 문제가 될 수 있다. 제네릭은 컴파일

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

[NAVER DEVIEW 2017 그런 REST API로 괜찮은가] 정리

"REST APIs must be hypertext-driven" -Roy Fielding-REST 아키텍쳐 스타일을 따르는 APIREST란 분산 하이퍼미디어 시스템(ex. 웹)을 위한 아키텍쳐 스타일(제약 조건의 집합)client-serverstatelesscache

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

Comparable, Comparator 인터페이스

자바에서 객체 간의 정렬 기준을 명시하는데는 두 가지 방법이 있다.한 가지는 Comparable 인터페이스를 이용하는 것이고,다른 한 가지는 Comparator 인터페이스를 이용하는 것이다.Comparable 인터페이스는 Natural Order(자연 정렬)을 구현하고

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

알아두면 좋을 VS Code의 확장 프로그램

Live Server 'Live Server'를 설치하면 VS Code 하단에 Go Live 텍스트가 생기고 이 텍스트를 누르면 자동으로 기본 브라우저에서 실행이 된다. 이 기능은 VS Code의 코드 변경사항을 저장하면 브라우저에서 새로고침 할 필요없이 바로 저장사

2021년 2월 7일
·
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개의 댓글