다형성 (5) 썸네일형 리스트형 추상화, 캡슐화, 다형성 디자인 패턴 책을 보다가 객체지향 기본 개념인 추상화, 캡슐화, 다형성이 가물가물 하여서 다시 찾아본 내용을 정리함. 객체지향개발(Object Oriented Programming)의 특성은 크게 추상화, 캡슐화, 상속성, 다형성이 있다. 1) 추상화(Abstraciton)- 공통의 속성이나 기능을 묶어 이름을 붙이는 것- 객체 지향적 관점에서 클래스를 정의하는 것을 바로 추상화라고 정의 내릴 수 있겠다.- 좀 더 살펴보면 물고기, 사자, 토끼, 뱀이 있을 때 우리는 이것들을 각각의 객체라 하며 이 객체들을 하나로 묶으려 할 때, 만약 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의한다고 하자. 이때 동물 또는 생물이라고 묶는 것을 추상화라고 한다. 2) 캡슐화(Encapsulation)- 데이터 .. 다형성 자세히 이해하기2 지난 다형성 포스팅에 이은 두번재 다형성 포스팅입니다.오늘 살펴볼 내용은 부모 자식 사이의 캐스팅과 프로모션입니다. 지난 포스팅보다 이번에는 좀 더 자세하게 들어가보록 하겠습니다. 특히 이번에는 오버라이딩 된 메서드가 있는 자식 클래스를 캐스팅하는 것입니다.그럼 설명에 앞서, 부모 자식 클래스 및 메인 프로그램을 준비해 보도록 하죠. 1. 부모 클래스 2. 자식 클래스 주석에 나와 있는 것과 같이, show 메서드와 speed 메서드는 부모 클래스 Car에 있는 메서드를 오버라이딩 한 것임을 알 수 있습니다. 자식 클래스에서 새로 만든 것은 works 메서드 밖에 없죠. 3. 메인 프로그램 먼저 car5는 부모 타입의 자식 객체로 생성되었습니다. 즉 레퍼런스 다형성이 발생한 것이죠. 다시 말하면, car.. 다형성 자세히 이해하기1 * 부모 자식 사이의 캐스팅과 프로모션을 알아보자. 1. 부모 클래스 2. 자식 클래스 3. 메인 메서드(다형성 발생) ⓐ 레퍼런스 다형성 8 라인에서 레퍼런스 다형성이 발생한 것을 확인할 수 있다. 레퍼런스 다형성이란 부모 클래스로 자식의 객체를 생성할 때 발생한다. 이렇게 생성된 객체는 라인 19에서처럼 자식의 메서드를 사용할 수 없다. ⓑ 클래스 캐스팅19 라인의 car2.move()는 사용할 수 없다. 왜냐하면, move() 메서드는 Car 클래스에는 없는 내용이기 때문이다. move() 메서드를 호출할 수 있는 방법은 없을까? 20 라인에서 그 방법을 보여주고 있다. car2의 설계도를 버스 타입으로 바꿔주면, 즉 부모 객체를 자식 타입으로 캐스팅 하는 것이다. ⓒ 아규먼트 다형성23라인에서는 .. 객체지향 프로그래밍의 특징 - 은닉화, 상속 그리고 다형성 1. 은닉화 멤버 필드(데이터)를 안전하게 보관하려고 접근 제한자 private을 사용하며, 메서드는 public을 사용하여 멤버 필드를 보호하는 것을 은닉화(encapsulation)이라고 한다. 2. 다형성객체지향 개념에서의 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현한다. 이를 좀 더 구체적으로 말하자면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것 입니다. 다음 예제에서는 이러한 다형성을 세가지로 나누고 있다.ⓐ 레퍼런스 다형성 - 부모(Ball)의 타입으로 자식(BaseBall)의 객체를 생성하는 것ⓑ 아규먼트 다형성 - 부모의 이름.. [자바 기본기] 다형성 1. 다형성(polymorphism)이란? " 여러 가지 형태를 가질 수 있는 능력 "" 하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것 "즉 , 조상타입의 참조변수로 자손타입의 객체를 다룰 수 있는 것이 다형성 Tv t = new Tv(); CaptionTv c = new CaptionTv(); Tv t = new CaptionTv(); " 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있지만, 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없다 " Tv t = new CaptionTv();CaptionTv c = new Tv(); => TV 리모콘으로 CaptionTV를 조작하는 것은 가능하다. CaptionTV 리모콘으로 TV를 조작할 때, 리모콘에 있는 캡션 기능을.. 이전 1 다음