다형성
-
[Spring] 객체지향 4가지Framework/Spring 2021. 7. 16. 23:52
캡슐화 캡슐화는 객체의 속성을 보호하기 위해 사용 Method 설계 - 속성이 선언되었으나 이의 상태를 변경하는 Method가 없다면 잘못 선언된 속성이다. - 실물 객체가 가진 기능을 모두 제공해주어야 한다. - 각각의 Method는 서로 관련성이 있어야 한다. - 객체 안의 Method는 객체 안의 속성을 처리해야 하며, 다른 객체를 전달받아 해당 다른 객체에 정의 된 속성을 직접 처리하면 안된다. - 단 Method에 실행에 필요한 값들은 객체의 형태가 아닌 매개변수의 형태로 전달되어져야한다. 장점 - 객체 지향의 패러다임 중 하나인 추상화를 제공한다. - 재 사용성 향상 무결성 - 보통의 캡슐화 코딩이라고 한다면, 주로 변수는 private로 선언하고 Method를 public으로 선언하는 형태를..
-
[JAVA] 다형성(polymorphism)과 다운 캐스팅(downcasting)Language/Java 2021. 6. 5. 23:16
다형성(polymorphism) 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 같은 코드에서 여러 다른 결과가 나온다. 객체지향 프로그래밍의 가장 큰 특징 중 하나이다. 다형성을 사용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 개발할 수 있다. 다형성 예시 다형성을 사용하는 경우 상속과 메서드 재정의를 활용하여 확장성 있는 프로그램을 만들 수 있다. 다른 동물을 추가하는 경우 공통의 Animal클래스에서 상속을 받아 추가적으로 필요한 부분만 구현을 할 수 있다. 여러 클래스를 하나의 타입(상위 클래스)로 핸들링할 수 있다. 상속을 사용할 때? IS-A관계(is a relationship : inheritance) 일반적인 개념과 구체적인 개념과의 관계 상위 클래스: 하위 클래스보다 일반적..