반응형

자바/자바 입문 공부일지 56

자바 기초 공부 일지 26. 인터페이스interface , 구현implements

● 인터페이스 : 규약, 접점 user interface (UI) 유저 인터페이스는 결구구 사용자에게 제공하는 규약이자 접점 입니다. 사용자가 그것을 통해서 접근할 수 있는 접점입니다. 자바에서 인터페이스는 추상 메소드를 담고 있는 블록입니다. 추상 메소드란 몸통이 없는 블록입니다. 즉 메소드의 몸체 없이 선언부분만 있는 메소드이며, 그로인해 인스턴스를 만들 수 없고 참조 변수 선언만 가능한 메소드입니다. 인터페이스 클래스는 interface 키워드를 사용해서 접근하며, 다음과 같이 선언합니다. 접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; ... public abstract 메소드이름(매개변수목록); ... } 인터페이스 클래스 또한 클래스이지..

자바 기초 공부 일지 25. Object 클래스, final 선언, @Override 오버 라이딩

모든 클래스들은 Object 클래스를 상속합니다. 만약 상속을 하는 클래스가 없다면 자동적으로 컴파일이 java.lang.Object 클래스를 상속한 것으로 인식합니다. ex) class MyClass extends Object {...} 내가 작성한 클래스가 어떤 클래스를 상속하고 있는지 확인하기 위해서는 Source -> Override / Implement Mathods 탭을 클릭하시면 확인할 수 있습니다. 상속하고 있는 클래스들의 목록이 뜹니다. Object를 상시 상속하고 있는 것을 확인할 수 있습니다. tip) 여기서 사용하고 싶은 것들을 클릭하면 오버라이드 할 수 있는 형태들이 자동으로 양식 완성 됩니다. ok를 누르면 출력 화면에서 확인할 수 있습니다. 만약 클래스가 다른 클래스를 상속한다..

자바 기초 공부 일지 24. 메소드 오버라이딩, instanceof 연산자

용어가 비슷하지만 다른 기능 중에 메소드 오버로딩이 있었어요. 이거랑 메소드 오버라이딩의 차이점을 먼저 확인할게요. https://blue-dot.tistory.com/57 자바 기초 공부 일지 15. 메소드 오버로딩, this 참조 변수 ● 메소드 오버로딩이란 같은 이름의 메소드를 중복으로 만들 때를 의미합니다. 자바에서 한 클래스에 같은 이름의 메소드를 두 개 이상 받을 수 없지만, 매개변수의 개수 혹은 타입을 다르게 blue-dot.tistory.com 메소드 오버로딩 반환형이고 이름이 같을 때, 그러나 매개변수가 다를 경우. 호출 시에 전달 인자를 보고 사용할 메소드를 최종적으로 결정하는 것입니다. 즉, 여러 메소드를 하나의 이름으로 정의하는 것이었습니다. 메소드 오버라이딩은 반환형, 이름, 매개..

자바 기초 공부 일지 23. 클래스 상속과 생성자

● 상속은 가지고 있는 것을 물려주는 것입니다. 자바에서 상속은 클래스가 가지고 있는 데이터와 기능을 주는 문법입니다. 이것은 클래스 안에 있는 코드의 재활용이라기 보다는 연관된 일련의 클래스들에 대해서 공통적인 규약을 정의한다는 것입니다. 상속의 대상이 되는 클래스 = 상위 클래스, 기초 클래스, 부모 클래스, 슈퍼 클래스 상속을 하는 클래스 = 하위 클래스, 유도 클래스, 자식 클래스, 서브 클래스 class Man { String name; public void tellYourName() { System.out.println("My name is " + name); } } Man 클래스를 만들었습니다. tellYourName() 이라는 메소드 멤버가 있습니다. class BusinessMan ext..

자바 기초 공부 일지 22. 2차원 배열, 2차원 배열 초기화

● 2차원 배열에 대해서 알아볼게요. 앞서 배운 1차원 배열은 아래와 같이 생겼습니다. 딱 일렬로 세워진 배열이에요. int[] arr1 = new int[4] 그리고 2차원 배열은 이렇게 행과 열로 구성되어 있습니다. int[][] arr2 = new int[3][4] [행가로][열세로] 2차원 배열 요소의 전체적인 순차적 접근은 for문의 중첩 반복문을 사용해요. 즉, for문의 외부 반복, 내부 반복을 통해 순차적으로 출력할 수 있습니다. 예시를 통해 어떻게 만들어지는지 확인해볼게요. public static void main(String[] args) { int[][] arr = new int[3][4]; int num = 1; // 배열에 값을 저장 for(int i = 0; i < 3; i++..

자바 기초 공부 일지 21. enhanced for문 (for - each 문)

이전에 배운 배열에서 배열의 요소에 순차적으로 접근할 때 사용할 수 있는 구문입니다. for-each 문을 사용하기 전에 for문을 통해 순차적으로 접근하는 것을 해볼게요. int[] ar = {1, 2, 3, 4, 5}; for(int i = 0; i < ar.length; i++) { System.out.println(ar[i]); } int[] ar = {1, 2, 3, 4, 5}; // int [] 배열 ar에 각 요소 1, 2, 3, 4, 5를 넣어주고 for(int i = 0; i < ar.length; i++) { // int 를 배열의 길이만큼(5만큼) 반복해줍니다. System.out.println(ar[i]); // 그리고 그 요소들을 하나씩 출력합니다. } 각 요소에 한 번씩 접근했습..

자바 기초 공부 일지 20. 1차원 배열, int [] 배열, 배열의 디폴트 초기화 (수정중)

배열은 자료의 구조 중 하나로, 동일한 타입의 데이터를 연속적으로 저장하여 하나의 변수 속에 묶어서 관리하는 자료 구조 입니다. 파이썬의 리스트라고 생각하시면 좋을 것 같아요. 배열의 자료는 기본 자료를 토대로 만드는 참조 자료입니다. int [ ] ref = new int [5]; 길이가 5개 짜리의 배열을 int 자료형으로 참조한다는 뜻이에요. int [ ] -> int 형으로 이루어진 배열을 참조한다는 의미입니다. int 형 배열은 그 자체가 객체 입니다. 배열을 만들 때에는 칸수를 정해서 만들기 때문에 최초 선언한 값으로 고정됩니다. 예제를 보면 보다 더 쉽게 알 수 있습니다. int [ ] ref = new int [5]; ref[0] = 7; // 값의 저장 : 첫 번째 요소 ref[1] = ..

자바 기초 공부 일지 19. 콘솔 입력(Scanner 클래스)

이전에 파이썬에서는 변수에 입력을 할 때 입력 콘솔로 input() 을 사용했습니다. https://blue-dot.tistory.com/9 파이썬 공부일지 7. 변수와 입력! 변수는 변할 수 있는 모든 자료를 의미합니다. 모든 자료형의 값을 저장할 수 있습니다. 변수는 값을 저장하기 위해 이름을 지어서 사용하는 이름표예요. 식별자(이름표) 만드는 규칙을 한 번 더 blue-dot.tistory.com 자바에는 Scanner 이라고 하는 입력 콘솔이 있는데 이 클래스의 사용에 대해서 알아볼게요. 우선 자바에서 Scanner 을 사용하기 위해서는 import 로 호출을 해줘야하는데 java.util 패키지 안에 있으므로 경로를 설정해서 호출을 해줍니다. 스캐너는 기본적인 데이터 타입들 모두 Scanner ..

자바 기초 공부 일지 18. toString 메소드, printf 메소드

● toString 메소드 자바에서 생성되는 모든 클래스들은 모두 Object 라고 하는 자바의 기본 라이브러리에서 클래스를 상속받습니다. 그 중에 toSting이라는 메소드가 있는데, 이것은 객체가 가지고 있는 정보의 값을 문자열로 반환하는 메소드입니다. 생성된 인스턴스에 toString 메소드를 사용해볼게요. 출력값으로는 알 수 없는 문자열이 뜹니다.. 이것은 라이브러리에서 가지고 있는 순수 오브젝트의 to String 결과값으로 의미가 없는 디폴트값에 해당합니다. 이것을 본래 우리가 의도하고 싶은 대로 출력하려면 재정의가 필요합니다. 이제 Stirng 클래스로 toString 에 메소드를 재정의 해서 값을 리턴할 수 있도록 합니다. String 은 앞글자가 대문자인 클래스입니다. 이것은 자바 라이브..

자바 기초 공부 일지 17. String 클래스의 메소드, .concat(), equals, compareTo, compareToIgnoreCase, valueOf 함수 (수정중)

● 문자열 연결시키기 1. concat 함수 문자열을 연결 시킬 때 .concat 함수가 있습니다. 기존에는 + 연산자로 문자열을 합쳤었지만, concat 은 + 와 동작하는 방식이 다릅니다. + 는 정수, 실수, 문자열을 append 식으로 더해준다고 보시면 됩니다. concat 함수는 합친 문자열을 String 으로 변환시켜서 합치는데, 문자열을 추가할 때마다 새로운 인스턴스를 생성한다는 면에서 차이가 있습니다. (성능이나 속도 면에서도 좋지 않습니다..) 하단의 예제를 먼저 보겠습니다. package day14; public class Test06 { public static void main(String[] args) { String st1 = "Thrill"; // 사랑은 스릴... String..

반응형