객체지향프로그래밍2 [Java OOP 심화] 다형성(Polymorphism) 다형성 (Polymorphism) 자바 객체 지향 프로그래밍의 가장 핵심적인 부분이라고 할 수 있는 다형성이다 하나의 객체가 여러가지 형태를 가질 수 있다 한 타입의 참조변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미하는데 구체적으로 말해보면 상위 클래스 타입의 참조변수를 통해 하위 클래스 객체를 참조할 수 있도록 허용한 것이다 참고로 참조변수가 사용할 수 있는 멤버의 개수는 실제 객체의 멤버 개수보다 같거나 적어야 한다 상속에서 배웠듯이 상위 클래스를 상속받은 하위 클래스 멤버 개수가 상위의 것보다 많아지는 것을 보면 이해가 가는 부분 상속을 통해 확장이 될 수 있을지언정 축소되는 건 있을 수 없는 일이기 때문에 하위 클래스에서 사용할 수 있는 멤버의 개수가 항상 상위 클래스와 같거나.. 2022. 5. 29. [Java OOP 기초] 객체 지향 프로그래밍 객체 지향 프로그래밍 (Object Oriented Programming) 프로그래밍 방법론, 패러다임 중 하나 필요한 데이터를 추상화, 그러니까 복잡한 여러 자료와 시스템 같은 것들의 핵심적인 부분만 간추려내서 어떤 상태와 행위를 가진 객체를 만들고 그 객체 간 유기적 상호작용을 통해서 로직을 구성하는 것인데 직관적으로 이해를 하기 위해 예시로 비교를 해보면 기존의 C언어 같은 절차지향언어에서는 어떤, 흐름이나 절차에 중점을 두고 설계해서 순서대로 작동하게끔하는 프로그래밍이 주 였다 자판기를 예로 들어보면 어떤 상품을 뽑기위한 이 기계는 큰 과정으로만 본다면 돈을 넣고, 그 돈이 상품가격에 충분한지 여부를 판단한 후 상품을 선택한 뒤, 그 재고가 있는지를 확인하고 상품을 내보내며 남은 거스름돈을 반환하.. 2022. 5. 25. 이전 1 다음