public int add(int a, int b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
public double add(double a, double b) {
return a + b;
}
메소드 이름은 add로 동일하지만, 파라미터의 갯수, 타입을 달리 정의하여 오버로딩 하였습니다.
class Animal {
public void makeSound() {
System.out.println("동물은 소리를 냅니다.");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("강아지는 멍멍");
}
}
Animal 이라는 부모 클래스를 Dog 라는 자식 클래스가 상속하여 오버라이딩 (재정의) 하였습니다.
📍 오버로딩
메소드 이름은 같지만, 파라미터 타입 파라미터의 갯수 등을 달리 정의 하여 다형성을 구현하는 방법중 하나이다.
📍 오버라이딩
부모 클래스를 상속하여 자식 클래스에 재정의 하며, 부모클래스와 메소드 이름이 같고, 오버로딩과 달리 파라미터 타입 파라미터의 갯수등 부모클래스와 정확히 일치해야하며 다형성을 구현하는 방법중 하나이다.
MVC 패턴이란 Model (모델), View (뷰), Controller (컨트롤러)의 앞글자를 따서 만든 패턴입니다.
애플리케이션의 비즈니스 로직과 데이터 처리를 담당합니다.
데이터를 저장하고 전달하는 역할을 수행합니다.
사용자에게 데이터를 시각적으로 "표현" 하고 템플릿을 렌더링하는 역할을 합니다.
Model 과 View 간의 상호작용을 조정하는 역할을 하며,
클라이언트의 요청을 수신하고, 해당 요청을 처리하기 위해 적절한 모델을 호출후 반환된 데이터를 View에 전달합니다.
(사용자의 입력을 받는다)
- 여러 개발자들이 역할을 나눠 Model, View, Controller를 동시에 개발할수있습니다.
- 디버깅과 테스트에 용이하며, 확장성있게 코드를 작성할수있습니다.
( ❗ Spring은 인터페이스 기반임 )
- 규모가 커지면 애플리케이션의 구조가 복잡해질수 있습니다.
( 설계가 중요 )- 현업 개발자에게는 MVC 패턴이 쉬울수있지만, 초보 개발자는 분리하는데에 어려움을 느낄수 있습니다.