JAVA

    [JAVA] 재귀호출(recursive call)

    메서드의 내부에서 메서드 자신을 다시 호출하는 것 void method(){ method(); //재귀호출. 메서드 자신을 호출한다. } 호출된 메서드는 값에 의한 호출(call by value)을 통해 원래의 값이 아닌 복사된 값으로 작업하기 때문에 호출한 메서드와 관계없이 독립적인 작업 수행이 가능하다. 재귀호출은 자기 자신을 호출하기에 무한반복문이 조건문과 사용되는 것과 같이 재귀호출도 조건문이 필수적이다. 팩토리얼(factorial) package object_oriented_programming; public class FactorialTest { public static void main(String[] args) { int result = factorial(4); System.out.prin..

    [JAVA]변수와 메서드

    선언위치에 따른 변수의 종류 변수 클래스변수 인스턴스변수 지역변수 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수, 붙지 않은 것은 인스턴스변수이다. int iv; //인스턴스변수 static int cv; //클래스변수(static변수, 공유변수) void method() { int lv = 0; //지역변수 } 변수의 종류 선언위치 생성시기 클래스변수 (class variable) 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스변수 (instance variable) 클래스 영역 인스턴스가 생성되었을 때 지역변수(local variable) 크래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 인스턴스변수(..

    [JAVA] 객체지향언어

    객체지향언어의 역사 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었으며 1060년대 중반에 객체지향이론을 프로그래밍언어에 적용한 시뮬라(Simula)라는 최초의 객체지향언어가 발생했다. 그 이후 1980년대 중반에 C++을 비록하여 여러 객체지향 언어가 발표되면서 1995년에 자바가 발표되고 1990년대 말에 인터넷의 발전과 함께 크게 유행하면서 객체지향언어는 프로그래밍의 주류로 자리 잡았다. 객체지향언어 코드의 재사용성이 높다.새로운 코드를 삭성할때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 코드의 관리가 용이하다.코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 신뢰성이 높은 프로그래밍을 가능하게 한다.제어자와 메서드를 이용해서 데이터를 보호하고 ..

    [JAVA 기초] 다차원 배열

    2차원 배열의 선언과 인덱스 선언방법 선언 예 타입[][] 변수이름; int[][] score; 타입 변수이름[][]; int score[][]; 타입[] 변수이름[]; int[] score[]; 2차원 배열의 초기화 int[][] arr = new int[][] { {1,2,3},{4,5,6} }; int[][] arr = { {1,2,3}, {4,5,6} }; 2차원 배열의 합 구하기 package Array; public class ArrayEx18 { public static void main(String[] args) { int[][] score = { {100,100,100}, {20,20,20}, {30,30,30}, {40,40,40} }; int sum =0; for(int i=0; i

    [JAVA 기초] String 배열화

    String배열의 선언과 생성 String[] name = new String[3]; 자료형 기본값 boolean false char '\u0000' byte, short, int 0 long 0L float 0.0f double 0.0d 또는 0.0 String배열의 초기화 String[] name = new String[3]; name[0] = "Kim"; name[1] = "Park"; name[2] = "Yi"; 또는 {}를 통해 초기화도 가능하다. String[] name = new String[]{"Kim", "Park", "Yi"}; String[] name = {"Kim", "Park", "Yi"}; 배열에 실제 객체가 아닌 객체의 주소가 저장되어 있는 것을 볼 수 있다. 참조형 배열의 경..