JAVA/기초개념

JAVA/기초개념

객체 지향의 설계 원칙 SOLID 법칙

SOLID 법칙이란?2000년대 초 로버트 마틴이 주창한 객체지향 5원칙을 두문법칙 기억법으로 정리해놓은 것입니다.a.k.a 경선식 영단어처럼요.. 그럼 하나씩 살펴봅시다.S: Single Responsibility Principle (SRP) 단일 책임 원칙한 클래스는 하나의 책임만 가져야 한다는 원칙 사실 저는 이 법칙이 가장 어려운 것 같습니다. 얼마나 책임을 구분해야하는 걸까?어디부터 어디까지가 단 하나의 책임으로 둘 수 있을까? 라고 말이죠.. SRP를 알아보기 위한 사례로 온라인 도서 관리 시스템로 생각해봅시다.도서를 관리하기 위해 우선 책 Book 클래스를 만듭니다. 해당 책에는 제목, 저자, 내용 등 이 존재할 거고요.저는 책 내용을 출력하는 기능, 책 내용을 저장하는 기능, 책 내용을 로..

JAVA/기초개념

[Java] 객체 지향 언어의 특징 - 다형성 (오버로딩, 오버라이딩)

서론객체 지향의 특징 4가지를 정리할 예정입니다.1. 캡슐화2. 추상화3. 상속4. 다형성  다형성이란다형성(Polymorphism) : 동일한 인터페이스나 상위 클래스(상속)에서 정의된 메서드를 여러 하위 클래스에서 각기 다르게 구현할 수 있게 하는 기능  다형성의 이점코드의 유연성: 동일한 인터페이스를 구현하거나 동일한 상위 클래스를 상속받는 객체들이 동일한 메시지(메서드 호출)에 대해 각기 다른 방식으로 반응할 수 있습니다.확장성: 새로운 클래스가 추가되더라도 기존 코드를 수정할 필요 없이 확장할 수 있습니다.재사용성: 상위 클래스나 인터페이스를 기반으로 다양한 하위 클래스를 생성하여 코드의 재사용성을 높입니다.유지 보수성: 코드의 유지 보수가 용이해지며, 버그를 줄이고 수정 시 영향을 최소화할 수..

JAVA/기초개념

[Java] 객체 지향 언어의 특징 - 상속

서론객체 지향의 특징 4가지를 정리할 예정입니다.1. 캡슐화2. 추상화3. 상속4. 다형성 상속이란상속 : 하나의 클래스가 다른 클래스의 속성과 메서드를 물려받아 사용하는 객체 지향 프로그래밍(OOP)의 중요한 개념 중 하나상속에 관련된 개념은 추상화, 상위 클래스, 하위 클래스 입니다. 추상화:  구체적인 구현 세부 사항을 감추고, 객체의 공통적인 속성과 기능을 추출하여 정의하는 것상위 클래스(Super Class):  다른 클래스가 상속받는 클래스. 부모 클래스 또는 기본 클래스하위 클래스(Sub Class): 상위 클래스를 상속받는 클래스. 자식 클래스 또는 파생 클래스 하위 클래스가 상속을 통해 상위 클래스의 속성과 메서드를 물려받아(공통기능) 재사용하고, 하위 클래스는 공통된 특성과 기능을 물려..

JAVA/기초개념

[Java] 객체 지향 언어의 특징 - 추상화

서론객체 지향의 특징 4가지를 정리할 예정입니다.1. 캡슐화2. 추상화3. 상속4. 다형성 객체 지향과 캡슐화가 무엇인지는 이전 글에 작성했습니다.https://langeasy.tistory.com/106 [Java] 객체 지향 언어의 특징 - 캡슐화(Encapsulation)서론객체 지향의 특징 4가지를 정리할 예정입니다.1. 캡슐화2. 상속3. 다형성4. 추상화 우선 캡슐화 설명에 들어가기에 앞서 객체  지향이란 무엇일까? 객체 지향이란? from 객체 지향의 창조자 :langeasy.tistory.com 캡슐화를 공부했으면 아시겠지만, 캡슐화를 했기 때문에 추상화, 상속, 다형성이라는 특징을 쓸 수 있는겁니다.특징 4가지가 모두 유기적으로 연결되어있어 그말이 그말 같지만보면 볼 수록  유연한 프로그..

JAVA/기초개념

[Java] 객체 지향 언어의 특징 - 캡슐화(Encapsulation)

서론객체 지향의 특징 4가지를 정리할 예정입니다.1. 캡슐화2. 추상화3. 상속4. 다형성 우선 캡슐화 설명에 들어가기에 앞서 객체  지향이란 무엇일까? 객체 지향이란? from 객체 지향의 창조자 : 엘런케이딱딱하게 받아들일 개념은 "소프트웨어를 개발 할 때 객체(Obejct) 중심으로 생각한 뒤 해당 객체를 어떤 기능(함수), 특성(데이터)들을 갖추고 있는지 등 모델링하고 재사용할 수 있기 위해 모듈화(기능을 세분화하는 것)하는 것" 입니다. 그러나 객체 지향의 창조자인 엘런케이의 말을 들어보면 조금 더 부드럽게 받아들일 수 있습니다.(참고로 엘런케이 曰 이라고 쓰여있는 부분은 실제 엘런케이가 말한 내용인지 확실한 팩트체크는 없습니다.) 우연히 유투브를 보다 "객체 지향의 본질"이라는 영상을 보게 됐..

three von
'JAVA/기초개념' 카테고리의 글 목록