프로그래밍언어 (102) 썸네일형 리스트형 [JAVA] 변수의 초기화 1. 변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것을 변수의 초기화라고 한다. 변수의 초기화는 경우에 따라 필수가 아닐 수도 있지만 가능하면 선언과 동시에 초기화 하는 것이 바람직하다. 클래스의 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞춰 기본값으로 초기화된다. 하지만 지역변수의 경우 자동으로 초기화 되지 않기 때문에 사용전에 반드시 초기화 해야한다. 초기화 하지 않는경우 컴파일 에러가 발생한다. 변수의 초기화 방법에는 다음과 같은 방법들이 있다. 명시적 초기화 (explicit initialization) 생성자 (constructor) 초기화 블럭 (initialization block) 2. 명시적 초기화 (explicit initialization) 변수 선언과 동시.. [JAVA] 생성자 (Constructor) 1. 생성자란? 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 따라서 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다. 생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없다는 점이 다르다. 그렇다고 해서 생성자 앞에 리턴값이 없음을 뜻하는 void를 사용하지는 않고, 단지 아무 타입도 표시하지 않는다. 생성자의 조건은 다음과 같다. 생성자의 이름은 클래스의 이름과 같아야 한다. 생성자는 리턴값이 없다. 생성자는 다음과 같이 정의한다. 생성자도 다른 메서드들과 같이 오버로딩이 가능하므로 하나의 클래스는 여러개의 생성자를 가질 수 있다. class Constructor { // 매개변수가 없는.. [JAVA] 오버로딩 (Overloading) 1. 오버로딩이란? 자바에서 메서드를 구분할 때는 메서드의 이름뿐만 아니라 매개변수의 개수와 타입까지 포함하여 구분한다. 그렇기 때문에 한 클래스 안에서 이름은 같지만 매개변수가 다른 메서드가 존재할 수 있다. 이와같이 한 클래스 내에서 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 한다. 보통 하나의 이름으로 여러 기능을 구현하기 위해서 사용한다. 2. 오버로딩의 조건 이름만 같다고 무조건 오버로딩인 것은 아니다. 다음의 두가지 조건을 모두 만족해야 한다. 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. 이때 주의할 점은 반환 타입이 다른 것으로는 오버로딩을 구현할 수 없다는 것이다. 메서드의 이름과 매개변수가 같고 반환 타입만 다른 경우에는 같은 메서드로 인.. [JAVA] 변수와 메서드 1. 변수의 종류 변수는 클래스 변수, 인스턴스 변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수가 선언된 위치'이므로 변수가 어느 영역에 선언되었는지를 확인하는 것이 중요하다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스 변수이다. 다음 코드에서 각 변수들의 위치와 종류를 확인할 수 있다. class Temp { // 클래스 영역 int instanceVar; // 인스턴스 변수 static int classVar; // 클래스 변수 (static 변수, 공유변수) void method() { // 메서드 영역 int localVar; // 지역 변수 } } 변수의 종류 선언위치 생성.. [JAVA] 클래스와 객체 1. 클래스와 객체의 정의와 용도 클래스란 '객체를 정의해놓은 것', 또는 '객체의 설계도, 틀' 이라고 정의할 수 있다. 클래스는 객체를 생성하는데사용하며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 - 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 - 클래스는 객체를 생성하는데 사용된다. 객체는 '실제로 존재하는 것'으로 우리 주변의 사물들을 생각하면 된다. 객체지향이론에서는 사물과 같은 유형의것들 뿐 아니라 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 프로그래밍에서는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 객체의 정의 - 실제로 존재하는 것. 사물 또는 개념 객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름 클래스와 객체의 관계는 설계도와 실제 .. [JAVA] 다차원 배열 배열은 지금까지 예시로 들었던 1차원뿐만 아니라 2차원 이상의 다차원 배열도 선언하여 사용할 수 있다. 메모리의 용량이 허용되는 한에서 차원은 제한이 없지만 주로 1, 2차원의 배열만 사용된다. 1. 2차원 배열의 선언과 인덱스 2차원 배열을 선언하는 방법은 1차원 배열과 같다. 다만 대괄호가 한쌍 추가된다. 선언 방법 예시 타입[][] 변수이름; int[][] arr; 타입 변수이름[][]; int arr[][]; 타입[] 변수이름[]; int[] arr[]; ※ 2차원보다 더 고차원으로 가는 경우 그만큼 대괄호 쌍을 추가해주면 된다. 2차원 배열의 선언과 생성은 다음과 같이 할 수 있다. int[][] arr = new int[2][2]; // 2행 2열의 2차원 배열을 생성한다. 위의 예제를 실행하.. [JAVA] String 배열 1. String 배열의 선언과 생성 문자열을 담을 수 있는 배열을 생성하는 문장은 다음과 같다. String[] arr = new String[5]; // 5개의 문자열을 담을 수 있는 배열 선언 및 생성 String 타입으로 생성된 배열은 초기값으로 참조형 변수의 기본값인 null을 가지게 된다. 그렇기 때문에 위의 문장이 실행되는 경우 null값을 가진 String 저장공간 5개와 이를 가리키는 참조변수 arr가 생성된다. 2. String 배열의 초기화 초기화 역시 int 배열과 동일한 방법으로 한다. String[] arr = new String[3]; arr[0] = "val1"; arr[1] = "val2"; arr[2] = "val3"; String[] arr1 = new String[]{.. [JAVA] 배열 (Array) 1.배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 많은 양의 데이터를 저장하고 이를 다루기 위해 사용한다. 여기서 중요한 것은 같은 타입이어야 한다는 것이며 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. 다음과 같이 여러개의 int값을 다루는 경우 여러개를 각각의 변수로 선언하는 것이 아닌 하나의 배열로 묶을 수 있다. // 각각의 변수로 선언 int a1, a2, a3, a4, a5; // 5개의 int 값을 저장할 수 있는 배열 생성 int[] a = new int[5]; 각각의 변수로 선언하게 되면 메모리 상에 서로 다른 5개의 int 값 저장공간이 생성되는데, 배열의 경우 a[0]부터a[4]까지 5개의 int값을 저장할 수 있는 공간이 생성되고 a는 .. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음