일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 반복문
- 백준
- SQL
- 오라클
- 문자열
- darkest dark
- JOIN
- algoritm
- 동적계획법
- 10951
- 자바
- 그대로 출력하기
- Database
- 소숫점처리
- n x 2 타일링 2
- Java
- 2156
- DP
- Algorithm
- 데이터베이스
- db
- 입출력
- 데이터길이
- select
- Dynamic Programming
- 알고리즘
- Eclipse
- oracle
- 변수
- ANSI JOIN
- Today
- Total
목록전체 글 (78)
Cracking Code
상속은 기존 클래스의 기능을 추가하거나 재정의하여 자식 클래스를 정의하는 것을 의미합니다. 상속 객체의 관계는 같은 종류여야합니다. 상속 관계가 성립되면 자식 클래스에서는 부모 클래스의 구성을 선언 없이 사용할 수 있습니다. 단, 생성자와 private으로 지정된 속성은 사용할 수 없습니다. 자바는 단일 상속만 지원하며 자식 클래스는 하나의 부모 클래스만 상속 받을 수 있습니다. public class class_name extends p_class_name {} extends 키워드를 사용하여 부모 클래스와 상속 관계를 정의할 수 있습니다. 상속 관계의 객체 생성 순서도 Man 클래스는 Emp 클래스를 상속받은 클래스입니다. 자식 클래스의 생성자가 호출되면 부모 클래스의 생성자가 호출되어 부모 객체가 ..
자바의 this 키워드는 객체 생성 후 메모리에 올라간 자기 자신의 인스턴스를 가리킨다. this // 자기 자신의 필드 참조 this.field_name = value // 자기 자신의 생성자 참조 this(data_type1 field_name1, data_type2 field_name2, ...); 다른 클래스에서 참조 변수명을 사용하여 생성된 인스턴스를 참조할 수 있지만 자기 자신이 자신을 참조할 때는 this 키워드를 사용합니다. 멤버 변수명과 매개 변수명이 같을 경우 일반적으로 setter 메소드를 사용할 때 멤버 변수명과 받는 매개 변수명을 같게 정의합니다. 이러한 경우 🚨변수명이 중복되어 식별이 불가하기 때문에 오류가 발생합니다. 이를 분간하기 위해서 this 키워드를 사용해 자기 자신의 ..
1. 접근 단순하게 생각했을 때 새로운 n번째 타일을 채울 때는 n - 1번째 타일들에 세로 직사각형 1개가 추가되는 것을 생각할 수 있었습니다. 나머지 경우의 수를 생각해보았을 때 방금 추가한 세로 직사각형이 중간에 들어갈 수 있기 때문에 상상만으로 접근하기에는 어려웠습니다. 2. 해결 그림을 그려 규칙을 찾아보는 것으로 하였습니다. 2 x 1 2 x 2 2 x 3 - 2 x 2 타일에 세로 직사각형 타일 추가 - 2 x 1 타일에 가로 두 개 타일, 정사각형 타일 추가 2 x 4 - 2 x 3 타일에 세로 직사각형 타일 추가 - 2 x 2 타일에 가로 두 개 타일, 정사각형 타일 추가 즉 n번째 타일의 경우의 수는 (n - 1번째 타일의 경우의 수) + (n - 2번째 타일의 경우의 수의 두 배) 3..
자바 객체는 클래스를 인스턴스화할 때 호출하여 초기화하는 역할을 담당합니다. 생성자 (Constructor) 생성자를 호출하여 멤버 변수에 데이터를 초기화합니다. setter 메소드를 사용하여 초기화할 수 있지만 자바에서 생성자를 호출함과 동시에 멤버 변수를 초기화할 수 있도록 하는 편의성을 제공합니다. 따라서 일반적으로 setter 메소드는 멤버 변수에 저장된 데이터를 수정하는 역할을 담당합니다. modifier class_name([data_type variable, ...]) { [...] } 메소드와 여러가지 비슷한 특징을 가지지만 리턴 타입이 없으며 반드시 클래스와 동일한 이름으로 지정해야 합니다. 만약, 생성자를 따로 정의하지 않았다면 자동으로 기본 생성자가 생성됩니다. // 기본 생성자 pu..
자바 클래스의 필드란 클래스에 포함된 변수를 의미합니다. 필드 (Field) 클래스를 정의할 때 클래스의 속성값을 저장하기 위해 선언하는 변수들을 필드라고 합니다. 필드는 클래스 안에서 선언 위치에 따라 3가지로 구분됩니다. 지역 변수 (local variable) 인스턴스 변수 (instance variable) 클래스 변수 (class variable) class class_name { static data_type variable_name; // 클래스 변수 data_type variable_name; // 인스턴스 변수 data_type method_name() { data_type variable_name; // 지역 변수 } } 지역 변수 메소드 안에 선언된 변수를 의미합니다. 메소드가 호출될..
자바 클래스에는 속성을 갖고 있는 멤버 변수와 기능을 수행하는 메소드를 가지고 있습니다. 메소드는 어떤 기능을 수행하기 위한 명령문의 집합이라고 할 수 있습니다. 메소드 일반적인 메소드의 작성 목적은 반복적인 프로그램 로직을 간추려 정의함으로써 코드의 가독성 향상과 해당 기능을 간편하게 수행, 유지보수하는 것에 있습니다. 메소드 정의 다른 언어(C, C++ 등)의 함수와 비슷하게 메소드를 정의할 수 있습니다. 접근제어자 데이터_타입 메소드_이름(인자 변수들) { 명령문...; } 접근제어자: private, public 등 데이터 타입: int, String, double, void 등 메소드 이름: 메소드를 호출하기 위한 이름 인자 변수들: int num, int num2 등 메소드에 전달되는 인자들의..
자바의 클래스란 객체를 정의하는 틀이라는 개념으로 사용됩니다. Class (클래스) 클래스는 총 3가지의 요소로 구성됩니다. 필드 (Field) 메소드 (Method) 생성자 (Constructor) public class class_name { // 필드 // 메소드 // 생성자 } 이러한 클래스를 사용하여 객체를 생성할 수 있습니다. 생성된 객체는 클래스에 정의된 변수 및 메소드에 접근, 사용할 수 있습니다. E.g. // Student.java (Student Class) public class Student { // 필드 ================== private String name; // 생성자 ========================= public Student() { System...
배열이란 같은 타입의 변수들로 이루어진 유한 집합입니다. Array (배열) 선언 datatype[] array_name; // or datatype array_name[]; 배열을 구성하는 집합의 데이터들을 요소(element)라고 하며 배열의 위치를 가리키는 숫자를 인덱스(index) 라고합니다. 자바의 배열은 항상 0부터 시작하고 양의 정수로 이루어져 있습니다. 같은 데이터형만 저장 가능하고 기본 데이터형 및 참조 데이터형 모두 배열로 관리할 수 있습니다. 배열의 길이는 배열명.length 로 반환할 수 있습니다. E.g. int[] num1; int num2[]; String[] name1; String name2[]; Array (배열) 생성 배열 선언 후 new 키워드를 사용하여 배열을 생성할..