코딩공부 25일차: 프로그래머스 자바 입문 - 8. 인터페이스와 다른 형식의 클래스(1)
#비전공자개발 공부 24일차
프로그래머스 자바 입문 강의를 듣는 중이다
https://school.programmers.co.kr/learn/courses/5
자바 입문
자바 입문 가장 널리 쓰이는 프로그래밍 언어 Java로 프로그래밍의 기초를 다져보세요. 이 강의의 내용을 책으로 만나고 싶으시면 여기를 눌러 책 정보를 확인하세요. 강의를 다 들었는데, 지금
school.programmers.co.kr
파트8 인터페이스와 다른 형식의 클래스:
인터페이스 만들기
어떤 물체를 만들면 필요한 기능들이 있다
예시로 티비는 전원 기능, 볼륨 조절 기능, 채널 변경 기능 등이 있어야 하는 것처럼 말이다
이런 기능을 구현하진 않더라도 그 기능을 쭉 적어서 나열해둔 것을 인터페이스라고 한다
보는 것처럼 인터페이스는 클래스와 다른 종류의 것이다
기능을 나열하기만 하더라도 결국 기능이긴 하기 때문에 메소드와 같은 형식으로 만든다
하지만 같은 방식이었던 추상클래스와 달리 abstract를 적지 않아도 된다
마찬가지로 상수를 선언할 때도 final을 선언하지 않더라도 설정할 수 있다
인터페이스는 객체를 만들어내진 못한다
파트8 인터페이스와 다른 형식의 클래스:
인터페이스 사용하기
인터페이스를 구현하기 위해선 새 클래스를 생성해야 한다
인터페이스를 사용하려면 표시한 부분에서 add를 눌러 추가하면 된다
위 방식대로 생성하면
인터페이스에 적어두었던 메소드들이 자동적으로 적혀있다
표시한 부분의 인터페이스 TV처럼 인터페이스도 참조변수의 타입이 될 수 있다
이 경우엔 인터페이스가 가지고 있는 메소드만 사용 가능
다른 TV의 클래스가 있다고 해도, 저기서 LedTV();를 그 클래스 이름으로만 바꾸면 똑같이 동작한다
인터페이스가 같으면 클래스 사용법도 같기 때문이다
인터페이스를 사용하는 중요한 이유 중 하나다
실습에서 유의미한 설명
인터페이스에 정의한 변수는 모두 상수
따라서 변수의 값을 변경하고 싶으면 정의된 부분을 인터페이스가 아닌 클래스로 옮긴다
오늘은 학원 시험 준비 때문에 파트 8을 다 끝내진 못했다
내일 끝내고 모레 파트 9까지 하면 프로그래머스 자바 입문 강의는 다 끝난다
이후 백준으로 알고리즘 공부하면서 프로그래머스 자바 코딩테스트도 한 번 해볼까 한다
될 지 모르겠지만..?
자바의 정석 공부도 병행할 예정
아자아자