자바(35)
-
자바(3), 인터페이스
1. 인터페이스 1) 인터페이스 선언 인터페이스는 서비스 공급자와 자신의 객체를 이 서비스에 사용하고 싶은 클래스 간의 계약을 기술하는 매커니즘이다. 이는 C++의 추상클래스와 비슷하게 구현을 제공하지 않고 수행할 일을 제시하는 역할을 한다. 기본 구현을 작성하지 않고 선언만 한 메서드는 추상(abstract) 메서드라고 한다. 인터페이스의 모든 메서드는 자동으로 public이 된다. // 정수형 시퀀스의 인터페이스 선언 public interface IntSequence { boolean hasNext(); // 다음 요소가 있는지 검사하는 메서드 int next(); // 다음 요소를 얻는 메서드 } // 인터페이스 메서드를 사용해 average 메서드 구현 public static double av..
2022.08.31 -
자바(2), 객체 지향 프로그래밍
이번 포스팅 역시 자바와 C++과의 객체 지향 프로그래밍 중 차이점을 위주로 내용을 작성해보고자 한다. 자바는 C++과 유사한 면이 많기에 차이점을 위주로 학습하면 더욱 기억에 잘 남을 것이라 생각한다. 1. 객체 사용 1) 객체 지향 프로그래밍 객체 지향 프로그래밍의 핵심 원칙 중 하나는 캡슐화이다. 이는 모든 객체지향 프로그래밍이 동일하게 적용되는 원칙으로, 다른 사람이 구현한 객체의 메서드를 호출할 때는 내부에서 무슨 일이 일어나는지 몰라도 된다는 원칙이다. 자바에서는 클래스를 사용해 객체를 생성하고 사용할 수 있다. 2) 접근자 메서드와 변경자 메서드 메서드에서 데이터를 수정하는 방법은 두 가지 방법이 있다. 첫번째 방법은 멤버 함수로 전달받은 객체의 상태를 변경하고 아무 것도 반환하지 않는 방식..
2022.08.29 -
자바 디자인패턴(0), 인터페이스와 델리게이트
인터페이스 인터페이스는 기능에 대한 선언과 구현을 분리하는 것에 의의가 있다. // Ainterface.java public interface Ainterface { // 기능에 대한 선언 public void funcA(); } // AinterfaceImpl.java public class AinterfaceImpl implements Ainterface { @Override public void funcA() { System.out.println("AAA"); } } - 인터페이스를 사용하면 구현과 선언을 분리해 사용할 수 있다. 또한 어떤 기능을 호출하는 통로가 된다. 인터페이스에 대한 자세한 설명은 자바 인터페이스와 관련된 포스팅을 참고하면 좋을 것 같다. 델리게이트 다른 클래스에서 구현 클래스..
2022.08.28 -
코어 자바9 연습문제 (1)-1, 연습 문제
이클립스를 활용해 교재 뒷편에 있는 문제를 풀어봤다. 문제 난이도는 높지는 않지만 처음 자바를 다뤄보면서 재밌는 문제가 많았다. 챕터 1의 연습 문제는 총 16문제로 오늘은 앞에 있는 8문제를 풀었다. 각 문제는 편의를 위해 함수로 분할하여 문제를 풀었다. 1. 정수를 읽어서 2진수, 8진수, 16진수로 출력하는 프로그램을 작성하라. 읽어온 정수의 역수를 16진수 부동소수점 수로 출력하라. public static void problem01() { // 1. 정수를 읽어서 2진수, 8진수, 16진수로 출력하는 프로그램을 작성하라. 읽어온 정수의 역수를 16진수 부동소수점 수로 출력하라. Scanner in = new Scanner(System.in); // 아직 동적할당 int number = in.ne..
2022.06.30 -
코어 자바9 (1), 기본 프로그래밍 구조
본 포스팅은 '가장 빨리 만나는 코어 자바9' 책을 기준으로 중요한 내용을 정리합니다. 자바 언어는 C++과 유사한 점이 많기에 유사한 점을 제외하고 다른 점을 위주로 작성하고자 합니다. 7월 중순 이내로 책을 모두 읽고 정리하는 것을 목표로 잡습니다. 1. Hello world 1) 자바 프로그램 컴파일 및 실행 javac ch01/sec01/HelloWorld.java java ch01.sec01.HelloWorld - 첫번째 줄은 바이트 코드로 컴파일 후 클래스 파일에 저장하는 명령어이다. 바이트 코드는 한번 컴파일하면 모든 자바 가상 머신에서 실행할 수 있다. - 두번째 줄은 java 명령으로 가상 머신을 구동하고 클래스 파일을 로드해서 바이트 코드를 실행한다. 2) 메서드 호출 - 메서드 호출은..
2022.06.29