스터디 3

생성자(Constructor)

메서드처럼 클래스 내에 선언되는 '생성자'는 메서드와 유사한 구조를 가지고 있으나 리턴값이 없다는 점이 다르다. 그럼 생성자는 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 그래서 인스턴스 변수의 초기화 작업에 주로 사용된다. 생성자의 조건은 2가지가 있다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. 1) 생성자 예시 class Card{ Card(){//매개변수가 없는 생성자.} Card(String k, int num){// 매개변수가 있는 생성자.} } 2) 생성자 분석 클래스 이름(타입변수 명, 타입변수 명 ***){ // 인스턴스 생성 시 수행될 코드, // 주로 인스턴스 변수의 초기화 코드를 적음. } 생성자도 오버로딩이 가능해 하나의 ..

Language/Java 2022.01.21

오버로딩(overloading)

자바에서는 메서드도 변수와 마찬가지로 같은 클래스 내에 서로 구분이 가능해야한다. (그럼 계속해서 이름을 다르게 사용해야하나?) 정답은 그렇지 않다. 같은 이름이라도 매개변수의 개수, 타입이 다르면 같은 이름을 사용해 메서드를 정의할 수 있다. 이렇게, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '오버로딩'이라고 한다(중복 메서드) 보면 한 클래스 내에 같은 이름으로 3개의 getInfo가 정의된 것을 볼 수 있는데, 각자 변수의 개수 및 타입이 다르다. 이렇게 오버로딩의 조건은 크게 2가지이다 1. 메서드의 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 그럼 오버로딩의 장점은 무엇일까? 생각을 해보자. 오버로딩? 우선 효율적일 것이다. 굳이 여러 개의 메서드를 ..

Language/Java 2022.01.20

Java에 대한 기본적인 이해(배열과 메모리 그리고 조건문, 반복문)

1) 배열은 인덱스를 이용해 자료형이 같은 데이터를 관리하는 것이다. 2) 배열의 선언 및 초기화 배열도 변수와 마찬가지로 선언과 동시에 초기화를 할 수 있는데, 자바는 배열의 크기를 정하면 수정이 불가능하다. // 배열 선언 후 초기화 int []arr1 = new int[5]; arr[0]=100 arr[1]=200 arr[2]=300 // 배열 선언과 동시에 초기화 int [] arr2 = {1,2,3,4}; 3) 베열의 메모리 크기는 배열을 구성하는 데이터의 자료형에 따라 배열의 메모리 크기가 결정된다. 4) 배열을 가리키는 배열의 이름 = 기본 자료형 데이터를 담고 있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있다. 5) 배열의 기본 속성 = 기본 자료형 데이터를 담고 있는 변수와 ..

Language/Java 2022.01.17