자바
-
[백준] 1074 Z #JAVAAlgorithm Solving/BAEKJOON 2020. 11. 1. 11:07
BAEKJOON [1074] Z 문제 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 배열의 크기가 2^N * 2^N라서 왼쪽 위에 있는 칸이 하나가 아니라면, 배열을 4등분 한 후에 (크기가 같은 2^(N-1)로) 재귀적으로 순서대로 방문한다. 다음 예는 2^2 * 2^2 크기의 배열을 방문한 순서이다. N이 주어졌을 때, (r, c)를 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음 그림은 N=3일 때의 예이다. 입력 & 출력 예제입력 출력 2 3 1 11 예제입력 출력 3 7 7 63 코드 import java.io.Buffer..
-
[JAVA] Number 클래스와 Value 메서드JAVA 2020. 7. 13. 23:24
Number 클래스와 Value 메서드 안녕하세요? 장장스입니다. 자료형 자바에는 기본형(Primitive Type)과 참조형(Reference Type)이 있습니다. 일반적으로 다음과 같이 분류 할 수 있습니다. Java Data Type ㄴ Primitive Type ㄴ Boolean Type(boolean) ㄴ Numeric Type ㄴ Integral Type ㄴ Integer Type(short, int, long) ㄴ Floating Point Type(float, double) ㄴ Character Type(char) ㄴ Reference Type ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc. 참조형은 Byte, Double, ..
-
[JAVA] 메서드 오버라이딩JAVA 2020. 6. 27. 19:43
메서드 오버라이딩 안녕하세요? 장장스입니다. 상위 클래스 메서드를 재정의 메서드 오버라이딩은 하위클래스에서 상속받은 상위 클래스의 메서드를 재정의 하는 기능을 말합니다. 아래는 Cutomer 클래스입니다. 물건을 구매하는 Buy 메서드가 정의되어 있습니다. public class Customer { protected int id; protected String name; public void showCustomer() { System.out.println("아이디 "+id+"의 고객이름은 "+ name+"입니다."); } public int Buy(int price) { return price; } } 다음과 같이 Cutomer 클래스를 상속받은 VIPCustomer 클래스를 생성했습니다. 그런데 VIP..
-
[JAVA] 상속에서 클래스 생성과 superJAVA 2020. 6. 23. 23:47
상속에서 클래스 생성과 super 안녕하세요? 장장스입니다. 오늘은 객체지향 프로그래밍의 중요한 특징 중 하나인 상속(inheritance)에 대해 포스팅 해보겠습니다. 클래스의 상속 B 클래스가 A 클래스에게 상속받는다고 하면 다음과 같이 나타낼 수 있습니다. 클래스 간 상속을 표현할 때 하위 클래스가 상위 클래스를 바라본다는 느낌으로 화살표가 하위클래스에서 상위 클래스로 표시됩니다. 상위 클래스는 부모 클래스, 하위 클래스는 자식 클래스 라고도 불립니다. 자바에서 상속은 extends 예약어를 사용합니다. class B extends A{ } 하위 클래스가 생성되는 과정 그렇다면 하위 클래스는 어떻게 상위 클래스를 상속을 받을까요. 우리는 상속을 받는 하위 클래스가 생성되는 과정을 살펴 볼 필요가 있..
-
[JAVA] 자바, ArrayListJAVA 2020. 6. 22. 07:07
자바, ArrayList 안녕하세요? 장장스입니다. 오늘은 배열 친구 ArrayList 클래스에 대해 포스팅하겠습니다. 기존 배열의 단점 기존에 배운 기본 배열은 프로그램에서 사용하려면 항상 배열 길이를 정하고 시작해야만 했습니다. 그런데 배열의 길이를 변경해야만 하는 상황이 왔을 때 고정된 배열의 길이 때문에 코드를 수정해야만 하는 번거로운 일이 생깁니다. 합니다. ArrayList 클래스의 주요 메서드 ArrayList 클래스에는 필요한 메서드들이 이미 많이 만들어져 있습니다! 대표적인 메서드들입니다. 메서드 설명 boolean add(E e) 요소 하나를 배열에 추가합니다. E는 요소의 자료형을 의미합니다. int size() 배열에 추가된 요소 전체 개수를 반환합니다. E get(int index..
-
[JAVA] 자바, 배열 복사JAVA 2020. 6. 22. 00:06
자바, 배열 복사 안녕하세요? 장장스입니다. 오늘은 간단한 배열 복사 방법 2가지에 대해 포스팅하겠습니다. for 문을 이용한 복사 첫번째는 for문 사용입니다. for 문을 사용해서 복사하는 간단하고 쉬운 방법입니다. public class ForArrayCopy { public static void main(String[] args) { String[] arr1 = {"사과","딸기","배","포도","수박"}; String[] arr2 = new String[5]; for (int i = 0; i < arr1.length; i++) { arr2[i] = arr1[i]; } for (int i = 0; i < arr2.length; i++) { System.out.print(arr2[i]+" "); ..
-
[JAVA] 자바, 정보 은닉JAVA 2020. 6. 20. 14:29
정보 은닉 안녕하세요? 장장스입니다. 오늘은 정보 은닉에 대해서 포스팅 하겠습니다. 객체지향의 특징이라고 할 수 있는 정보 은닉에 대해 알아보기 전에 캡슐화와 접근제어자에 대해 간단하게 알아 보겠습니다. 캡슐화란? 캡슐화(encapsulation)는 객체 지향 프로그래밍에서 다음 2가지 측면이 있습니다. 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶는다. 실제 구현 내용 일부를 외부에 감추어 은닉한다. 접근 제어자란? 객체 지향 프로그램에서는 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있습니다. 이러한 예약어를 '접근 제어자(access modifier)'라고 합니다. public 외부 클래스 어디에서나 접근이 가능합니다. pro..
-
[자바] 문자열(String)비교 == 와 equals 차이점JAVA 2020. 3. 22. 21:10
== 와 equals() 차이점 안녕하세요? 장장스입니다. 스프링하다가 문자열 비교가 안되서 곤욕을 치뤘는데(시간낭비 엄청했음).. 잊어버리지 않게 이유를 짧막하게나마 정리하려고 합니다. == == 는 비교 연산자입니다. 숫자나 문자를 비교할 수 있습니다. int num = 10; num == 10; // true 하지만 문자열은 비교할 수 없습니다. String text = "장장스입니다"; text == "장장스입니다";//false equals() 자바에서 문자열은 엄밀하게 말하면 객체입니다. Object 객체를 상속받아 만든 String 객체인 것이지요. 때문에 == 비교연산자를 사용하게 되면 객체의 주소를 비교하게 되는 것입니다. 따라서 문자열을 비교할 때는 equals() 메서드를 사용해야 합..