1. Interface의 기능 구현부가 없어서 인터페이스를 구현한 클래스에서 구현을 강제한다. Interface에 정의되어 있는 메소드들을 구현하지 않으면 에러가 난다. 다형성을 제공한다. // Login.java public interface Login { void login(); } // KakaoLogin.java public class KakaoLogin implements Login { @Override public void login() { System.out.println("카카오로 로그인 합니다."); } } // NaverLogin.java public class NaverLogin implements Login { @Override public void login() { System.o..
1. 객체지향 프로그래밍 Java는 객체지향 언어 등장 배경 : 프로그램의 규모가 커지면서 필요성이 대두됨 프로그램의 동작을 쪼개서 객체들이 나눠서 수행함 2. 객체지향의 특성 캡슐화 기능을 수행하는 단위로 완전함을 갖는다. 정보의 은닉이 가능하다. 객체의 정보를 객체 외부에서 접근하지 못 하게 할 수 있다. 접근 지정자 private : 객체 내부에서만 접근 가능 protected : 상속한 객체에서도 접근 가능 (friendly) : 같은 패키지 내에서 접근 가능 (기본 지정자이다) public : 모두 다 접근 가능 상속 부모 객체 -> super [추상] 자식 객체 -> this [구체] 상속은 공통된 기능을 여러 객체에 전달하고 싶을 때 사용하는 것이 아니라, 추상과 구체로 분리하기 위해 사용한..
개발환경 세팅 - Java (JDK 16) - Gradle (Gradle 7.1.1) java파일 빌드 : javac ~.java gradle init 명령어로 통해 프로젝트를 생성한다. Intellij에서 해당 프로젝트를 연다. gradle tasks 명령어로 태스크 목록을 확인한다. gradle build 명령어로 빌드한다. gradle run 명령어로 실행한다. gradle test 등의 명령어를 실행할 수 있다. build.gradle을 보면 task.named('test') 라고 gradle test 관련한 코드는 있지만 나머지 두 개 관련 코드는 없다. 공통적으로 쓰이는 태스크 셋들을 plugins를 통해 추가해놓았다.(plugins { id 'application' }) 초보 개발자가 알면 ..