CS/Java

    @Override가 뭐야?

    @Override가 뭐야?

    1. 오버라이딩이란? 오버라이딩이란, 참조하는 클래스의 메서드를 맥락에 맞게 재정의하여 사용하는 것입니다. 쉽게 말하면, 조상 클래스에서 상속받은 메서드의 내용을 변경하는 것이죠. 대신 조상 클래스에서 상속받은 메서드를 재정의하는 것이므로 다음과 같은 조건을 충족시켜주어야 하는데요, 메서드의 이름이 같아야 한다. 메서드의 매개변수 타입, 개수가 같아야 한다. 메서드의 return type이 같아야 한다. 위 세 가지는 반드시 지켜야 오버라이딩이 가능합니다. 2. @Override 애너테이션은 꼭 사용해야 할까? 먼저 애너테이션이란, 일종의 주석 같은 개념으로써 주로 컴파일 시에 컴파일러에게 정보를 제공하는 목적으로 사용됩니다. @Override 애너테이션을 붙이면, 해당 메서드가 조상의 메서드를 오버라이..

    [자바] 인터페이스는 객체지향의 4대 특성중에 무엇을 지니는가?

    객체지향의 4대 특성은 캡슐화, 추상화, 상속성, 다형성이다. 인터페이스를 이용하면 해당 4가지 특성 중 추상화를 충족시킨다고 생각합니다. 인터페이스는 언뜻 추상 클래스와 비슷한 특성을 보이지만, 그 목적은 함수의 구현을 강제하는 데에 있습니다. 이를 통해서, 인터페이스를 구현하는 모든 클래스는 인터페이스에서 구현을 강제하는 모든 기능을 갖추어야 하고, 이에 따라 통일된 규격을 갖출 수 있다는 것이 장점입니다. 상속과는 달리 불필요한 속성과 기능을 강제로 상속받지 않아도 되기 때문에, 상속에 비해 결합도가 낮다는 것도 특징입니다. 인터페이스를 통해 공통적인 부분을 추상화함에 따라서 프로그래머가 캡슐화나 다형성을 잘 살린 프로그래밍을 가능하게 하는 필수적인 특성이라고 생각합니다.

    [자바] 객체지향의 4가지 특성

    1. 캡슐화 캡슐화(encapsulation)이란, 추상화의 한 종류로 객체의 속성과 메서드를 묶고, 필요한 부분만 외부에 공개하는 방식으로 불필요하게 노출될 필요가 없는 내부 구현 정보를 숨기는 것이다 예시 코드로, 제 지갑을 소개합니다. 총 금액을 알려주는 기능과, 돈을 지불하는 기능을 갖추고 있습니다. public class Wallet { private int money; public Wallet(int money){ this.money = money; } public int getTotalMoney(int price) { return this.money; } private void substractMoney(int charge) { money -= charge; } } 자바에서 캡슐화를 가능하게..