전체 글 34

❓@Override 오버라이딩

1. 오버라이딩이 뭔가요? 재정의, 다시 구현해서 用 상위 클래스에 정의된 메소드를 하위 클래스에서 재정의하여 사용하는 것 입맛대로 골라 ma dish (왜 이 노래가 생각났지?) 2. 오버라이딩을 구현하려면 @Override를 꼭 적어야 할까? 이 질문은 생각지도 못했는데 곰곰히 생각해보게 되었다.. 수업때 들은 내용을 떠올려보니 생략해도 동작은 되었던 것으로 기억한다. 다만 실수 방지, 가독성을 위해 적어주는 편이 좋지 않을까?! 3. @Override 어노테이션 유무의 차이로 다시 알아보기! class Parent { public void hello(String name) { System.out.println("안녕하세요, 저는 " + name + "입니다."); } } class Child ext..

개발공간/HW 2023.03.29

❓인터페이스란?

1. 인터페이스가 가지고 있는 객체 지향의 특징에는 어떤 것이 있는지 추상화, 다형성, 캡슐화 2. 그렇게 생각하는 이유는 무엇인지 인터페이스는 구현 되지 않은 메소드를 선언할 수 있고, 다양하게 구현할 수 있음 또한 메소드만 정의하고 구현은 각 클래스에서 이루어지므로, 구현 내용을 외부에 감추기 가능! + 상속? -> 인터페이스끼리 상속이 가능하지만 클래스와 다르게 다중 상속을 지원, 구현 코드를 상속하지 않음 이 부분은 좀 더 공부 할 필요가 있을 것 같다!

개발공간/HW 2023.03.28

❓객체 지향의 특징

1. 캡슐화 - 하나의 묶음으로 캡슐화 하는 것 - 객체 내부의 데이터를 외부에서 접근하지 못하도록 제한하여 유지보수성을 높이는 것 public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } Person 클래스 name과 age 변수가 private으로 선언된 Person 클래스 따라서 외부에서 직접 접근 불가! 2. 추상화 - 공통된 ..

개발공간/HW 2023.03.28