Dev 언어 정리 & Self QnA/Java
인터페이스, 클래스, 인스턴스, 메서드 그리고 생성자?
Mon Groy
2024. 4. 24. 06:00
한 인터페이스의 바탕 아래 각각의 특징을 가진 클래스들이 있다
한 클래스의 속성을 가진채 이름을 지어주면 그것이 인스턴스이며
클래스의 속성을 가지고 있기 때문에 클래스에 속한 메서드를 사용할 수 있다
걷는 것이 가능한 인터페이스가 있다고 하자
운동화를 신겨서 A타입을 만들고
구두를 신겨서 B타입을 만들었다
두 타입은 신은 신발 종류가 다르기 때문에 기능적으로 차이가 있다
이렇게 구별되는 것이 클래스이며 두 클래스 모두 걷는 것이 가능하다
A타입을 선택하여 운동화를 붉게 물들이고
또 A타입을 선택하여 운동화를 파랗게 물들였다
이렇게 되면 두 경우는 서로 다른 존재라고 할 수 있다
그래서 붉은 운동화, 파란 운동화 라고 이름을 붙여줄 수 있다
이렇게 같은 기능의 다른 존재들이 인스턴스들이다
하지만 두 경우 모두 같은 타입의 운동화를 신었으므로 동일하게 작동할 수 있다
이것이 메서드이다
그렇다면 생성자는 뭘 하는 존재일까?
운동화 기능과 관련 없는 설정으로는
색상을 입히는 것 말고도
스티커를 붙이는 것, 택을 달아 놓는 것 등이 있다
그런 방향성을 결정하기 위한 것이 생성자이다
빨간 운동화와 파란 운동화로 색칠하기 전에
'색상을 칠한 운동화'라는 기본값(초기값)을 설정해 두는 견본같은 존재인 것이다
따라서 인스턴스를 생성하거나 초기화 할 때 사용하기 좋다