분류 전체보기113 [Java] 인터페이스 활용(100% 다형성 보장!) 💡 1. 인터페이스의 경우 100% 다형성을 보장한다. 인터페이스는 모든 메서드가 추상 메서드로 이루어 져 있다. 구현 메서드를 가지고 있을 수 없다. 반드시 무조건 100% 추상 메서드로 구성해야 한다. 그리고 interface 는 class 형태가 아니다! 그래서 다중상속이 가능하다. 인터페이스는 메서드의 경우는 abstract 키워들 써주고(생략이 가능하다.) 클래스의 경우에는 interface를 써준다. 자식 객체의 경우 extends를 써주는 것이 아닌 implement 를 써준다. 자식 클래스의 경우도 마찬가지로 메서드들은 abstract를 생략해 줘도 된다. ❗ 인터페이스는 구현된 메서드를 가지고 있을 수 없다. 반드시 구현부가 없는 추상 메서드만 가지고 있어야 한다. interface 클래.. 2023. 2. 4. [Java] 추상클래스(일부 다형성 보장) 💡 1. 추상클래스 활용 다형성이 보장이 되기 위해서는 반드시 자식 클래스에서 재정의(override)를 해줘야 한다. 만약 Dog 와 Cat 클래스에서 eat() 메서드를 재정의 하지 않았다면 Dog d= new Dog(); Cat c= new Cat (); d.eat(); c.eat(); 의 출력은 Animal의 출력인 ? 만 나올것이다. 이러한 다형성을 보장하기 위해서 추상클래스를 사용할 수 있다. ✨추상메서드로 바꿔줄 땐 구현부를 없애줘야 한다. 어떤 클래스에 추상 메서드를 가지고 있으면 클래스 자체에 abstract 키워드를 추가해줘야 한다. 이때 추상 클래스가 된 경우에 그 클래스로 직접 객체를 생성해서 메서드를 사용할 수 없으며 부모 역할만으로 이용이 가능하다. ❔부모클래스가 추상클래스이고 .. 2023. 2. 4. [Java] 등수 구하기 N 명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 만들어라. 같은점수입력될 경우 높은등수로 동일처리함. 예) 92 92 92 91 경우 1등이 3명 4등 1명이다. ⚡ 입력 설명 첫줄에 n(3 2023. 2. 4. [Java] 객체 지향의 꽃! 다형성(message polymorphism) 🔍일상생활에서 보는 다형성! 여러가지의 브랜드의 다양한 TV(자식클래스)가 있다고 해보자. 그 tv(부모클래스)를 작동하는 리모콘이 있다. 리모콘을 통해 TV의 볼륨(메소드)을 조절하려고 한다. ↗ ➡ 삼성 TV ➡ 🆗⬆⬆⬆⬆⬆⬆⬆ 리 모 콘 ➡ 볼륨 up ➡ Dev TV ➡ 1️⃣2️⃣3️⃣ ↘ ➡ 엘지 TV ➡ ⏫⏫⏫ 같은 볼륨up 이라는 메서드를 구현했어도 각 TV마다 화면에 각자마다의 표현(재정의)으로 보일것이다. 💡 1. 다형성 (Message polymrphism) 상속 관계에 있는 클래스에서 상위클래스가 동일한 메세지로 하위클래스들을 서로 다르게 동작시키는 객체지향의 원리(개념) 이러한 상속 관계에서 message polymorphism(다형성)의 경우를 살펴보자. 상위 클래스인 Animal.. 2023. 2. 4. [Java] 재정의(Override) 💡 1. Override(재정의) 강아지.class 에게 먹다 기능 eat() 메서드는 "개처럼 먹다" 를 출력하고 고양이.class 에게 먹다 기능 eat() 메서드는 "고양이 처럼 먹다" 를 출력할 때 이 공통된 메서드를 animal(부모클래스)에서 eat을 공동 관리 했을때 강아지와 고양이 클래서에서 eat 메서드를 상속받아서 사용할 때 각 클래스 특징에 맞게 개처럼 먹다 와 고양이 처럼 먹다 를 출력할 수 있게 해주는게 Override ( 재정의) 라고 한다. Override(재정의) ➡상속관계에서 상속 받은 하위 클래스가 상위 클래스의 동작을 수정하는 것 부모 클래스의 eat() 메서드는 dog나 cat 과는 다르게 ? 로 추상적으로 되어있다. 이때 dog 나 cat 클래스에서 상속받은 eat(.. 2023. 2. 3. [Java] 점수 계산 💡 문제 OX 문제는 맞거나 틀린 두 경우 답을 가지는 문제를 말한다. 여러개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해 처음 문제가 맞거나 앞에 문제가 틀리고 맞는 경우에 1점 앞에 문제가 맞고 문제가 맞는 경우 2점 그 뒤에 문제까지 맞추면 3점이다. 맞은 문제를 1 틀린 문제를 0 이라고 했을때 점수표이다. 총 10점이다. ⚡ 입력 첫줄에는 100이하의 자연수 둘째 줄에는 채점 결과를 나타낸 1 과 0 이 빈칸을 사이에 두고 N개 주어진다. ➡입력 예시 10 1 0 1 1 1 0 0 1 1 0 ➡ 출력 예시 총 점수 10 💡 1. 나의 생각 및 풀이 과정 생각보다 쉽게 푼듯 하다. StringTokenizer 입력 받고 배열에 nextToken()으로 배열에.. 2023. 2. 3. 이전 1 2 3 4 5 6 ··· 19 다음