| 백기선님의 자바 라이브 스터디 8주차 주제!! 인터페이스란? 추상클래스에 대해서 다뤘었죠. 인터페이스는 추상화를 극대화한 추상클래스라고 볼 수 있습니다. 추상클래스와의 차이점을 언급해볼게요. 추상클래스는 추상메서드 + 일반 메서드나 필드를 가진다면, 인터페이스는 Only 추상메서드, 상수만 가질 수 있습니다. 추상클래스는 "is-a : ~는 ~이다" 의 개념이고 인터페이스는 "has-a : ~는 ~를 할 수 있다." 라는 내용도 기억해두시면 좋습니다. 개인적으로 이 인터페이스는 자바의 다형성을 이용하는 방식으로 코드의 수정을 줄이고 유지보수성을 높인다고 생각합니다. (변경에는 닫혀있으며 확장에는 열려있다) 인터페이스 정의하는 방법 추상클래스랑 인터페이스랑 구분이 있어야 컴파일하는 과정에서 문제를 캐치..
인터페이스
| 백기선님의 자바 라이브 스터디 7주차 주제 패키지란? 자바에서 패키지는 클래스나 인터페이스를 구분짓는 폴더(디렉토리) 개념입니다. 우리가 D드라이브 → 사진 폴더 → 음식 or 인물 등등 구분지어서 정리하듯이 묶어서 관리하는데 사용됩니다. 위의 예시를 굳이 패키지스럽게 표현하자면 D.사진.음식 이런 느낌이겠네요. package com.example; 소스에서 가장 맨 윗줄에 위치하고 있으며 딱 한 줄만 필요합니다. 패키지 이름과 소스 코드가 위치한 폴더의 이름이 동일해야합니다. 따라서 중간에 패키지 이름(폴더 이름)을 변경한 경우 소스 코드에서도 수정이 필요합니다. 패키지 이름은 java로 시작해서는 안된다고 합니다. 아마도 java나 javax라는 패키지가 자바 기본(확장) 패키지라서 그런가봅니다...