비디오: [KSUG Seminar] Growing Application - 2nd. 애플리케이션 아키텍처와 객체지향 2024
객체 지향 프로그래밍은 응용 프로그램 개발 및 프로그래밍에서 큰 변화를 가져 왔습니다. 객체 지향 프로그램은 그 중심에 수정되도록 설계되었습니다. 올바르게 작성된 소프트웨어를 사용하면 이미 내장 된 기능을 활용하고 자신의 새로운 기능을 추가하고 필요에 맞지 않는 기능을 대체 할 수 있습니다.
이 상황의 가장 좋은 점은 변경 사항이 깨끗하고 다른 사람의 부서지기 쉬운 프로그램 코드를 파고 들지 않아도된다는 것입니다. 대신 기존 코드의 내부 로직을 건드리지 않고 멋지고 정돈 된 추가 및 수정 작업을 수행 할 수 있습니다. 이상적인 솔루션입니다.
객체 지향 프로그램을 작성할 때 데이터를 고려하여 시작합니다. 계정에 대해 쓰고 있다고 가정 해보십시오. 그럼 계좌가 뭐니? 버튼 클릭을 처리하는 코드를 작성하고 있습니다. 단추가 뭐니? 직원에게 급여 수표를 보내는 프로그램을 작성 중입니다. 직원은 무엇입니까?
예를 들어, 직원이 이름과 직위를 가진 사람이라고 해봅시다. 직원들은 다른 특징을 가지고 있지만, 지금은 기본을 고수하고있다:
클래스 Employee {String name; String jobTitle;}
물론 모든 회사에는 다른 종류의 직원이 있습니다. 예를 들어, 회사에는 전일제 및 시간제 직원이있을 수 있습니다.
class FullTimeEmployee extends Employee {double salary;}
이 예제에서 Employee는 Employee가 Java에 새로운 클래스 (FullTimeEmployee 클래스)를 전달한다고 전한다. Employee에는 모든 속성이 있으며, 아마도 더 많은 특성을 가지고 있습니다. 즉, 모든 FullTimeEmployee 객체는 Employee 객체 (특정 종류의 직원, 아마도)입니다.
-모든 직원과 마찬가지로 FullTimeEmployee에는 이름과 jobTitle이 있습니다. 그러나 FullTimeEmployee도 월급이 있습니다. 이것이 Employee가 확장 한 단어입니다.
파트 타임 직원은 고정 된 연봉이 없습니다. 대신, 모든 파트 타임 직원은 시간당 임금 요율과 특정 시간 수를 일주일 내로 처리합니다.
PartTimeEmployee Employees {double hourlyPay double; int hoursWorked;}
지금까지 PartTimeEmployee에는 name, jobTitle, hourlyPay 및 hoursWorked의 네 가지 특성이 있습니다.
그렇다면 경영진 인 대형 촬영을 고려해야합니다. 모든 임원은 상근 직원입니다. 그러나 급여를받는 것 외에도 모든 경영자는 보너스를받습니다 (회사가 배가 고갈되어 구제 금융을받을 필요가 있더라도).
클래스 Executive는 FullTimeEmployee (double bonus)를 확장합니다.
Java의 확장 키워드는 시원합니다 클래스를 확장하면 이미 다른 클래스에있는 모든 복잡한 코드를 상속받을 수 있기 때문입니다.확장 한 클래스는 이미 작성한 클래스 (또는 다른 개발자의 클래스)가 될 수 있습니다. 기존 코드를 재사용하고 기존 코드에 재료를 추가 할 수 있습니다.
또 다른 예가 있습니다: Android 제작자가 5, 000 줄의 코드로 Activity 클래스를 작성했습니다.
public class MainActivity extends Activity {
두 단어로 Activity를 확장하면 새 MainActivity 클래스가 일반적인 Android 활동과 관련된 모든 작업을 수행 할 수 있습니다 실행을 시작하고, 앱의 res 디렉토리에서 항목을 찾고, 대화 상자를 표시하고, 메모리 부족 상태에 대응하고, 다른 활동을 시작하고, 활동에 대한 답변을 반환하고, 실행을 끝내는 등의 작업을 할 수 있습니다.