[Java] 인터페이스의 타입 변환과 다형성 1. 타입 변환과 다형성 다형성 동일한 타입을 사용하지만 다양한 결과가 나오는 성질 하나의 타입에 대입되는 객체에 따라서 실행 결과가 다양한 형태로 나오는 성질 타입 변환 데이터 타입을 다른 데이터 타입으로 변환하는 행위 구현 객체가 인터페이스 타입으로 변환되는 것 (자동 타입 변환) 자동 타입 변환을 이용하면 필드의 다형성과 매개 변수의 다형성을 구현 가능 다형성을 구현하는 기술(Java) 상속 : 같은 종류의 하위 클래스를 만드는 기술 인터페이스 : 사용 방법이 동일한 클래스를 만드는 기술 2. 다형성을 왜 구현하나요? ButtonA 라는 클래스를 활용하여 어떤 프로그램을 개발한다고 가정합니다. public class ButtonA { public void buttonClickEvent() { Sys.. Backend/객체 지향 프로그래밍 3년 전
[Java] 객체의 다형성 구현 (추상 클래스) 1. 추상 클래스 실체 클래스 : 객체를 직접 생성할 수 있는 클래스 추상 클래스 : 클래스들의 공통적인 특성을 추출해서 선언한 클래스 (객체 직접 생성 불가능) 추상은 실체 간에 공통되는 특성을 추출한 것을 뜻 합니다. 추상 클래스와 실체 클래스는 상속의 관계를 가집니다. 추상 클래스 부모 클래스이고 실체 클래스 자식 클래스입니다. 추상 클래스는 new 연산자를 사용해서 인스턴스(객체)를 생성하지 못합니다. 2. 추상 클래스의 용도 1. 필드와 메소드 이름 통일 실체 클래스들의 공통된 필드와 메소드의 이름을 통일할 목적으로 사용합니다. 상속을 이용함으로써 공통된 필드와 메소드는 통일 2. 시간 절약 실체 클래스를 작성할 때 시간을 절약할 수 있습니다. 공통적인 필드와 메소드는 추상 클래스에 모두 선언해.. Backend/객체 지향 프로그래밍 3년 전
[Java] 상속과 다형성 (Polymorphism) 1. 다형성 동일한 타입을 사용하지만 다양한 결과가 나오는 성질 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해줍니다. 다형성은 객체를 부품화가 가능하게 합니다. (하나의 타입 여러 객체 대입) 다형성을 위해 자바에서는 부모 클래스로 타입 변환을 허용합니다. 부모 타입에 모든 자식 객체가 대입될 수 있습니다. 타입 변환이란 데이터 타입을 다른 데이터 타입으로 변환하는 행위를 말합니다. 자식 타입은 부모 타입으로 자동 타입 변환이 가능합니다. 2. 자동 타입 변환(Promotion) 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말합니다. 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급 가능합니다. 부모가 아니더라도 상속 계층에서 상위 타입이라면 자.. Backend/객체 지향 프로그래밍 3년 전
[Java] 객체 지향 프로그래밍의 특징 (자바 소스 코드) 1. 객체 지향 프로그래밍의 특징 캡슐화(Encapsulation) 객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 감추는 것입니다. 외부 객체는 객체 내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다. 필드와 메소드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하기 위해서입니다. 캡슐화된 멤버를 노출시킬 것인지, 숨길 것인지를 결정하기 위해 접근 제한자(Access Modifier)를 사용합니다. Access Modifier는 객체의 필드와 메소드의 사용 범위를 제한함으로써 외부로부터 보호합니다. 상속(Inheritance) 상위 객체는 자기가 가지고 있는 필드와 메소드를 하위 객체에게 물려주어 하위 객체가 사용할 수 있도록 해.. Backend/객체 지향 프로그래밍 3년 전
[Java] 객체 지향 프로그래밍 (Object Orientied Programming) 1. OOP Object Orientied Programming 먼저 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해서 완성된 프로그램을 만드는 기법 2. 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것 객체는 속성과 동작으로 구성되어 있습니다. 자바는 속성과 동작들을 필드와 메소드라고 부릅니다. 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링이라고 합니다. 3. 객체의 상호작용 현실 세계에서 일어나는 모든 현상은 객체와 객체 간의 상호작용으로 이루어져 있습니다. 소프트웨어에서도 객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용하면서 동작합니다. 객체들 사이의 상호작용 수단은 메소드입니다... Backend/객체 지향 프로그래밍 3년 전