본문 바로가기

추상메서드

(3)
[JAVA] 기초문법 - 인터페이스(3) java8부터 디폴트메서드, 정적메서드, private메서드가 추가됨. 디폴트메서드: 구현코드를 가지는 메서드 재정의하지 않으면 디폴트 메서드를 사용할 수 있음. 정적메서드: 인스턴스 생성과 상관 없이 사용 할 수 있음. private 메서드: 인터페이스 내부에서만 사용하기 위해 사용함. 메서드에 구현코드를 삽입 할 수 있지만 그렇다고 해서 인터페이스 인스턴스를 생성하는 것은 불가능 하다. 디폴트 메서드 재정의 디폴트 키워드를 사용한 메서드 calc.description();으로 호출 가능.(해당 인터페이스를 구현하는 클래스의 인스턴스) 디폴트 메서드는 구현하는 클래스에서 재정의 가능하다. static 메서드 사용법 인터페이스이름.메서드명 으로 호출 가능하다. static메서드는 인스턴스의 생성과 상관 ..
[JAVA] 기초문법 - 추상클래스와 템플릿 메서드 추상메서드는 하위 클래스에서 구현(차 마다 방식이 다르다고 가정) run 메서드는 시나리오(함수 호출의 순서(과정)) final 메서드로 정의하면 하위클래스에서 오버라이딩 할 수 없다.ㅡ>템플릿 메서드 즉, 변하지 않는 일련의 과정을 정의할때는 하위 클래스에서 오버라이딩(재정의)할 수 없게 final 키워드를 붙인다. final 키워드는 접근제어자 앞이나 뒤에 써도 상관 없다. 템플릿 메서드 장점 시나리오 수정(추가,삭제 등)이 용이하다. 추상메서드가 아닌 선언만 한 메서드(구현하지 않은 메서드)를 선언해 놓고 필요에 따라 정의만 해서 사용이 가능하다. 시나리오는 정의해 놓고 필요에 따라 하위클래스에서 waschcar()메서드를 재정의해서 사용할 수 있다. ㅡ> 훅메서드 라고 불림.(프레임워크 에서 많이..
[JAVA] 기초문법 - 추상클래스 활용하기 추상클래스 추상메서드 구현부가 없는 메서드 이다.(매개변수,반환형,함수이름,접근제어자만 선언해 놓는 것) 추상메서드가 포함되어 있으면 해당 메서드를 포함하는 클래스는 추상클래스여야함. 추상메서드만 가져야하는 것은 아니다. 추상메서드는 상속을 하기 위해 만든다. 추상클래스는 인스턴스화 될 수 없다. 추상클래스를 상속받은 하위 클래스들은 만드시 추상메서드를 구현해야한다. 추상메서드를 구현하지 않을 것이라면 추상클래스가 되어야 한다. 상속받은 추상메서드 구현한 모습. 상속받은 추상메서드를 전부 구현하지 않을 것이라면 해당 클래스는 추상 클래스가 되어야 한다. 추상메서드를 구현하지 않은 추상클래스를 상속받은 또다른 클래스에서 구현하지 않은 추상메서드를 구현한 모습. 상위클래스는 추상메서드 구현을 하위클래스에게 ..