이론

· 이론/OOP
다형성의 기본 개념정의다형성이란 '많은 형태를 가질 수 있는 능력'을 의미한다. Java에서 다형성은 한 객체가 여러 타입의 인스턴스로 행동할 수 있게 하는 특성을 말한다. 이는 주로 상속과 인터페이스를 통해 구현된다. (+현업에서는 상속보다는 인터페이스를 통해서 다형성을 구현하는 경우가 더 많다.)타입의 호환성Java에서 하위 클래스의 객체는 상위 클래스 타입으로 선언될 수 있다. 이는 상위 클래스 타입의 참조 변수가 하위 클래스의 인스턴스를 참조할 수 있음을 의미한다. 다형성의 장점코드의 유연성같은 코드 라인이 여러 타입의 객체에 대해 다른 동작을 수행할 수 있으므로, 객체를 다양한 상황에서 더 유연하게 사용할 수 있다. (제네릭, 형변환도 다형성이 확장된 개념이다.)다형성의 구현 다형성을 구현하기 ..
· 이론/OOP
A is B.상속의 기본 개념정의 상속은 한 클래스(부모 클래스 또는 슈퍼클래스)의 속성과 메서드를 다른 클래스(자식 클래스 또는 서브클래스)가 이어받는 것을 말한다. 이를 통해 자식 클래스는 부모 클래스의 모든 기능을 사용할 수 있으며, 필요에 따라 추가적인 기능을 구현하거나 기존 기능을 재정의(Override)할 수 있다재사용성 상속은 코드의 재사용성을 높인다. 공통적인 기능을 부모 클래스에 정의하고, 이를 여러 자식 클래스에서 확장하여 사용할 수 있다. 상속의 장점코드 재사용기존 클래스의 코드를 재사용하여 새로운 클래스를 생성할 수 있다. 이는 개발 시간을 단축시키고, 코드의 중복을 방지한다. 유지보수의 용이성공통된 기능이 부모 클래스에 중앙집중화되어 있기 때문에, 수정이 필요할 경우 한 곳에서만 ..
· 이론/OOP
캡슐화의 기본 개념 정의캡슐화는 객체의 데이터(상태)와 그 데이터를 조작하는 메서드(행위)를 하나의 단위로 묶는 것을 의미한다. 이를 통해 데이터와 메서드가 서로 밀접하게 연관되며, 객체의 내부 구현은 외부로부터 숨겨진다.정보 은닉(information hiding)객체의 내부 상태는 외부에서 직접 접근할 수 없도록 숨겨지며, 오직 객체가 제공하는 메서드를 통해서만 조작될 수 있다.이로 인해 내부의 구현은 감추고 한 모듈 내에서의 응집도(얼마나 관련성이 높은 책임들이 할당되었는지)를 높여 외부로의 노출을 최소화한다. 이로 인해 코드의 유연성과 유지보수성을 높일 수 있다.(정보 은닉은 캡슐화로부터 파생된 보조 개념이다. 캡슐화 = 정보 은닉은 아니다.)캡슐화의 목적과 장점 유지보수성객체의 내부 구현이 외부..
· 이론/OOP
절차적 프로그래밍객체 지향 프로그래밍(OOP)의 등장 이전의 프로그래밍 패러다임은 절차적 프로그래밍이었다.흔히들 OOP의 반대가 절차적 프로그래밍이라고 생각을 하는데, 이는 틀린 사실이다. 절차적 프로그래밍의 프로시저가 OOP의 메서드로 확장된 것에 가깝기에, 완전히 일치한다고 볼 수는 없어도 서로 공유하는 부분이 차이보다는 더 많다.  그럼에도 불구하고 왜 OOP가 등장하였냐 하면, 절차적 프로그래밍은 데이터를 구조화 하지 못하는 한계가 있었기 때문이다. 절차적 프로그래밍에서는 데이터가 종종 전역 변수로 선언되어 사용되었는데, 이는 다양한 함수들이 동일한 데이터에 접근하고 수정할 수 있음을 의미했다. OOP의 관점에서 보면, "메서드1" 에서 사용되는 전역 변수 "변수1" 이 아무 관련도 없는 생뚱맞은..
킹효준
'이론' 카테고리의 글 목록