OOP

· 이론/OOP
A is B.상속의 기본 개념정의 상속은 한 클래스(부모 클래스 또는 슈퍼클래스)의 속성과 메서드를 다른 클래스(자식 클래스 또는 서브클래스)가 이어받는 것을 말한다. 이를 통해 자식 클래스는 부모 클래스의 모든 기능을 사용할 수 있으며, 필요에 따라 추가적인 기능을 구현하거나 기존 기능을 재정의(Override)할 수 있다재사용성 상속은 코드의 재사용성을 높인다. 공통적인 기능을 부모 클래스에 정의하고, 이를 여러 자식 클래스에서 확장하여 사용할 수 있다. 상속의 장점코드 재사용기존 클래스의 코드를 재사용하여 새로운 클래스를 생성할 수 있다. 이는 개발 시간을 단축시키고, 코드의 중복을 방지한다. 유지보수의 용이성공통된 기능이 부모 클래스에 중앙집중화되어 있기 때문에, 수정이 필요할 경우 한 곳에서만 ..
· 이론/OOP
캡슐화의 기본 개념 정의캡슐화는 객체의 데이터(상태)와 그 데이터를 조작하는 메서드(행위)를 하나의 단위로 묶는 것을 의미한다. 이를 통해 데이터와 메서드가 서로 밀접하게 연관되며, 객체의 내부 구현은 외부로부터 숨겨진다.정보 은닉(information hiding)객체의 내부 상태는 외부에서 직접 접근할 수 없도록 숨겨지며, 오직 객체가 제공하는 메서드를 통해서만 조작될 수 있다.이로 인해 내부의 구현은 감추고 한 모듈 내에서의 응집도(얼마나 관련성이 높은 책임들이 할당되었는지)를 높여 외부로의 노출을 최소화한다. 이로 인해 코드의 유연성과 유지보수성을 높일 수 있다.(정보 은닉은 캡슐화로부터 파생된 보조 개념이다. 캡슐화 = 정보 은닉은 아니다.)캡슐화의 목적과 장점 유지보수성객체의 내부 구현이 외부..
· 이론/OOP
절차적 프로그래밍객체 지향 프로그래밍(OOP)의 등장 이전의 프로그래밍 패러다임은 절차적 프로그래밍이었다.흔히들 OOP의 반대가 절차적 프로그래밍이라고 생각을 하는데, 이는 틀린 사실이다. 절차적 프로그래밍의 프로시저가 OOP의 메서드로 확장된 것에 가깝기에, 완전히 일치한다고 볼 수는 없어도 서로 공유하는 부분이 차이보다는 더 많다.  그럼에도 불구하고 왜 OOP가 등장하였냐 하면, 절차적 프로그래밍은 데이터를 구조화 하지 못하는 한계가 있었기 때문이다. 절차적 프로그래밍에서는 데이터가 종종 전역 변수로 선언되어 사용되었는데, 이는 다양한 함수들이 동일한 데이터에 접근하고 수정할 수 있음을 의미했다. OOP의 관점에서 보면, "메서드1" 에서 사용되는 전역 변수 "변수1" 이 아무 관련도 없는 생뚱맞은..
· Book
역할, 책임, 협력 객체지향의 사실과 오해를 다 읽었다. OOP를 하는 개발자들에게 필수 도서라 하여, 다른 공부할 것들을 제쳐두고 이것만 먼저 읽었다. 사실 이 책은 펼쳐놓고 코드를 타이핑하고 응용하는 책은 아니다. 이 책에서 실제 코드는 단 한 파트에서만 나온다. 대부분은 줄글과 이해를 돕기 위한 삽화로 구성되어 있다. 페이지 수는 260p 밖에 안되는 책이었다. 하지만 이 책을 완독하는데 순수 시간으로 약 20시간 정도가 든 것 같다. 단순히 글을 줄줄 읽기만 했다면 빠르면 1시간에도 충분했을 건데, 이 책이 설명하는 단어와 문장과 은유를 이해하려고 몇번이고 곱씹어보고, OKKY에 질문도 하느라 많은 시간이 들었다. 완독한 다음날인 오늘, 간략하게나마 회고를 해 본다. 일단, 어려웠다. 이 책은 은..
킹효준
'OOP' 태그의 글 목록