java
-
[Camel][Java] Java에서의 상속(Inheritance)이란? (feat. super 키워드)Java/개념 정리 2020. 2. 19. 20:46
상속(Inheritance)이란? 상속이란 객체지향 프로그래밍에서 굉장히 중요한 부분입니다. 대부분의 처음 Java를 공부하는 사람은 상속을 재활용의 목적으로 이해하는 경우가 많습니다. 하지만 Java에서 상속이 지니는 의미는 재활용 그 이상이라고 할 수 있습니다. 결론부터 말하자면 상속은 기존의 클래스를 재활용해 새로운 클래스를 작성하기위한 수단입니다. 우리는 상속을 통해 연관성이 있는 일련의 클래스에 대한 공통의 규칙을 정할 수 있습니다. 상속은 기존에 정의된 클래스에 메소드와 변수를 추가해 새로운 클래스를 정의하는 것입니다. 즉 재활용+@ 라고 할 수 있는 것입니다. 상속을 사용하기 위해서는 우리는 앞으로 extends라는 키워드를 사용할 것입니다. class Animal { private Stri..
-
[Camel][Java] Multi-Dimensional Array(다차원배열) feat. 2차원배열Java/개념 정리 2020. 2. 19. 19:19
다차원배열(Multi-Dimensional Array)이란? 다차원배열이란 2차원 이상의 배열을 말합니다. 그러나 일반적으로 2차원을 넘어서는 3차원,4차원 배열을 잘 사용하지 않습니다. 2차원 배열 2차원 배열은 둘 이상의 변수가 2차원의 형태로 존재하는 배열입니다. 2차원 배열 역시 인스턴스를 기반으로 구성됩니다. 이러한 2차원의 배열의 생성은 다음과 같습니다. int [][] arr = new int[3][4]; arr[0][0] arr[0][1] arr[0][2] arr[0][3] arr[1][0] arr[1][1] arr[1][2] arr[1][3] arr[2][0] arr[2][1] arr[2][2] arr[2][3] 위에 생성된 배열은 세로의 길이가 3, 가로의 길이가 4인 2차원 배열입니다..
-
[Camel][Java] Array ( 배열 )Java/개념 정리 2020. 2. 19. 18:25
배열(Array)은 왜 사용할까? 우리가 배열을 사용하는 이유는 간단합니다. 다수의 변수를 선언할 때의 편의성을 위해서 입니다. 선언해야 하는 변수가 적다면 물론 배열을 사용할 필요는 없습니다. 하지만 예를 들어 한 학교 학생에 대한 수십, 수백개의 변수를 생성해야한다면 배열의 효율성을 확인할 수 있을 것입니다. 만약 300개의 변수의 값을 전부 변경하고 싶을 때 배열을 사용하지 않으면 엄청난 줄의 코드를 작성해야 할 것입니다. 하지만 배열을 사용하면 반복문을 이용해서 동일한 코드를 적용할 수 있게 됨으로써 코드작성의 효율을 높일 수 있습니다. 배열의 생성 배열도 역시 문자열처럼 변수와 메소드로 구성된 인스턴스입니다. 그렇다면 이제 배열을 생성하는 코드를 살펴봅시다. int[] arr = new int[..
-
[Camel][Java] Console Input - 콘솔 입력 (Scanner)Java/개념 정리 2020. 2. 19. 17:51
과거에 Java에서 콘솔 입력은 다소 복잡한 코드 조합을 통해서 이루어 졌다고 합니다. BufferedReader bufread = new BufferedReader( new InputStreamReader(System.in) ); String str = bufread.readline(); int num = Integer.parseInt(str); 위의 정수를 입력받는 코드를 이해하기 위해서는 Wrapper 클래스, Java I/O, String 처리, 예외처리와 같은 처음 Java를 접하는 사람에게는 다소 복잡한 내용까지 숙지해야 했습니다. 하지만 Java는 5.0버전 이후로 다음과 같은 코드로 정수를 입력 받을 수 있게 되었습니다. Scanner sc = new Scanner(System.in); i..
-
[Camel][Java] StringBuilder와 StringBuffer 클래스Java/개념 정리 2020. 2. 19. 15:13
StringBuilder & StringBuffer 클래스 이전 포스팅에서 다뤘던 String 클래스는 값의 변경이 불가능한 문자열의 표현을 위한 클래스였습니다. 그렇다면 문자열은 값의 변경을 할 수 있는 방법이 정말 없는 것일까? 이번 포스팅에서 다룰 StringBuilder와 StringBuffer 클래스가 바로 값의 변경이 가능한 문자열의 표현을 위한 클래스입니다. 하지만 StringBuffer와 StringBuilder 의 인스턴스는 문자열이라 하지 않는다는 점! StringBuilder 클래스란? StringBuilder 클래스는 문자열의 저장 및 변경을 위한 메모리 공간을 내부에 가지고 있습니다. 이 메모리 공간은 크기가 자동으로 조절된다는 특징이 있습니다. 하지만 크기를 수동으로 조절하고 싶..
-
[Camel][Java] String 클래스의 다양하고 유용한 함수(Method)Java/개념 정리 2020. 2. 18. 22:20
오늘은 String 클래스의 다양한 함수에 대한 포스팅입니다. 오늘 포스팅에 앞서 String 클래스 뿐만아니라 다른 API에 대해 찾아보고 싶으시다면 https://docs.oracle.com/en/java/ 에 들어가시면 됩니다. Java 개발자라고 한다면 https://docs.oracle.com/en/java/ 이라는 웹페이지를 아시는 분이 많을 거라고 생각합니다. 이곳에서 다양한 기술 문서들과 예제 및 최신정보를 접할 수 있습니다. https://docs.oracle.com/en/java/에 접속한 후 Java SE documentation을 선택한 뒤 API documentation을 선택하면 Java에서 사용가능한 API 문서를 찾아 볼 수 있습니다. 오늘 소개하고자하는 String 클래스의..
-
[Camel][Java] String 클래스에 대해서Java/개념 정리 2020. 2. 18. 20:28
String 클래스의 인스턴스 생성 우리는 Java를 사용해 개발하면서 수 없이 많이 String을 사용해왔을 꺼에요. 근데 Java에서는 문자열 또한 인스턴스로 처리하기 위해 String이라는 이름의 클래스를 정의하고 있다는 사실! 즉, Java의 문자열은 대부분의 상황에서 String의 인스턴스로 처리가 됩니다. 하지만 String 클래스의 인스턴스 생성은 다른 클래스의 인스턴스 생성과 조금 다르다는 사실 아시나요? 일반적인 클래스의 인스턴스 생성은 아래와 같이 우리가 흔히 알고있고 사용하고 있는 new 키워드를 사용합니다. Animal camel = new Animal(); 그렇다면 String 클래스는 무엇이 다를까? String animal = "Camel"; 우리가 아무런 위화감 없이 사용해왔..