Java의 추상클래스와 인터페이스 + 환경설정

Jobmania·2023년 1월 18일
0

JAVA

목록 보기
1/7
post-thumbnail

OverLoading

메소드 명이 같을 지라도 매개변수(파라미터)가 다르면 다른 메소드로 인식을 한다.
그래서 기본 메소드인 print는 매개변수에 따라 9개의 메소드가 존재를 한다.

Constructor

this란?

현재 클래스의 인스턴스를 의미합니다.
즉, 현재 클래스의 멤버변수를 지정할때 사용합니다.

super란?

자식 클래스에서 상속받은 부모 클래스의 멤버변수를 참조할때 사용
자식 클래스가 자신을 생성할 때 부모 클래스의 생성자를 불러 초기화 할때 사용됩니다.
(기본적으로 자식 클래스의 생성자에 추가됩니다.)



부모 클래스의 생성자를 상속받아 객체 생성, 및 상속받은 메소드 사용

추상클래스와 인터페이스의 차이점

추상클래스와 인터페이스의 클래스는 구현하기 위해선 구현체가 필요하다. 비슷해보이지만 약간의 사용에 대한 차이가 있기 때문에 사용예시를 통해 이해해보자

추상클래스

추상클래스는 추상화(추상 메서드)를 하면서 중복되는 클래스 멤버들을 통합 및 확장..
같은 추상화인 인터페이스와 다른점은, 추상클래스는 클래스간의 연관 관계를 구축하는 것에 초점을 둔다.

클래스에서 필수적으로 포함된 공통되는 부분을 모아서 추상 클래스에 정의하고, 그외 부분은 자식클래스에서 확장하여 사용하는 개념.

인터페이스

인터페이스는 클래스와 별도로 구현 객체가 같은 동작을 한다는 것을 보장하기 위해 사용하는 것에 초점..서로 관련성이 없는 클래스들을 묶어 주고 싶을때나 다중 상속을 통한 추상화 설계해야할 때

인터페이스를 구현하는 모든 클래스들은 저마다의 방식으로 동작을 정의. 그리고 추상클래스와는 다르게 인터페이스는 다중상속이 가능하다

추상클래스, 인터페이스에 대해서 좋은 글

결국은 두개 다 같이 쓰게 되어있다..

Interface - Abstract - Concrete Class 디자인 패턴

인터페이스는 중복되는 인터페이스들을 묶어주진 못한다. 인터페이스에서 선언할 수있는 필드는 상수이기때문이고...

그래서 추상메서드를 통해 공통된 부분을 묶어주자! 또한

public interface xxxable{
void speak();
}
abstract class Member implements xxxable {

	protected String name;
  
  void setName(String str){
  this.name = str;
  }
}
class Student extends Member{

 @Override
  public void speak() {
      System.out.println(name + " 헬로우!!");
  }
}

자바 환경설정

JAVA_HOME / 변수 생성

PATH에 편집

Swing 사용해보기..

JFrame이라는 것이 있는데 스크립트가 아닌 GUI로 제공한다

JFrame mainFrame = new JFrame(); // 새창..
        mainFrame.setSize(600, 400); // 창 가로세로길이
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 창 닫을때 종료.
        mainFrame.setVisible(true);  // 보이게 하기

이와 같은 화면이 구성되는데, 프론트 없이 뷰를 구성해볼 수 있을 것 같다.

profile
HelloWorld에서 RealWorld로

0개의 댓글