본문 바로가기

프로그래밍/Java

(32)
[Java]this와 this() this란 우리가 생성자나 메소드를 생성할 때 매개변수를 받을 수 있다. 매개 변수를 받아 멤버 변수에 값을 저장하려고 할 때 종종 매개 변수와 멤버 변수의 이름이 일치하는 경우가 발생한다. 이때 매개 변수와 멤버 변수를 구분 하기 위해 멤버 변수의 앞에 this를 붙여 둘을 구분하게 된다. this 사용 예제 class Car{ private String modelName; private String color; private int modelYear; private int maxSpeed; private int currentSpped; Car(String modelName, int modelYear, String color, int max){ this.modelName = modelName; this..
[Java]메소드 오버로딩 메소드 오버로딩이란 한 클래스 내부에 같은 이름의 메소드가 있더라도 매개 변수의 타입이나 개수가 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다. 즉, 클래스 내에 같은 이름의 메소드를 여러개 선언 하는 것을 메소드 오버로딩이라 한다. 오버로딩 조건 1. 메소드의 이름이 같아야 한다. 2. 매개 변수의 개수 또는 타입이 달라야한다. 3. 매개 변수의 이름이 다르더라도 타입이 같으면 쓸 수 없다. 메소드 오버로딩을 사용하는 이유 우리는 메소드 오버로딩을 사용함으로서 하나의 메소드 명을 통해 다양한 기능을 활용 할 수 있는 이점을 가질 수 있다. 우리가 많이 사용하는 println() 이 메소드 오버로딩의 좋은 예시이다. 우리는 자바에서 출력을 하기 위해 println()이라는 메소드를 사용하는데 i..
[Java]생성자 생성자란 우리가 클래스를 만들고 객체를 생성할 때 호출되어 객체의 초기화를 담당한다. 생성자 만들 때 조건 1. 클래스의 이름과 동일한 이름으로 생성자이름을 정해야한다. 2. 리턴타입과 리턴 값이 없어야 한다. 즉, void와 리턴 자료형을 사용하지 않고 만든다. 생성자 종류 생성자는 매개변수를 가지지 않는 기본생성자와 매개변수를 가지는 생성자로 나뉜다. 1. 기본 생성자 우리가 클래스와 객체를 배우고 사용해 왔다면 알게모르게 기본생성자도 함께 써온게 된다. 생성자를 배운적이 없고 생성한적이 없다고 생각할텐데 그것은 당연하다. 생성자를 따로 만들지 않아도 우리가 클래스를 만들면 기본 생성자도 함께 만들어지기 때문이다. 하지만 사용자가 생성자를 하나라도 만들게 되면 기본 생성자는 자동으로 추가되지 않는다...
[Java]객체 배열 객체 배열이란 클래스로부터 만들어진 객체들을 저장한 배열이다. 배열을 처음 배우고 사용할 때 기본적으로 정수형이든 문자형이든 하나의 변수를 배열에 저장하고 사용했었다. 이에 그치지 않고 객체 또한 배열에 저장하고 사용함으로서 상황에 맞게 배열을 활용해보자. 객체 배열 예시 1. 객체를 생성할 클래스 만들기 // 사람 클래스 만들기 class Person{ //변수 //이름을 저장할 변수 만들기 String name; //나이를 저장할 변수 만들기 int age; //메소드 //이름을 알려주는 기능의 메소드 만들기 String getName() { return name; } // getName() } 2. 객체 배열 생성 및 출력 public class Test { //main메소드에서 배열 선언과 배열에..
[Java]클래스와 객체 클래스란 객체의 속성과 기능을 정의해놓은 객체의 설계도, 틀이라 할 수 있다. 클래스라는 설계도, 틀을 통해 객체를 생성할 수 있으며 객체는 클래스에 정의된 대로 생성된다. 쉽게 설명하기 위해 클래스를 붕어빵의 틀에, 객체를 붕어빵에 비유하여 설명하기도 한다. 붕어빵의 크기와 생김새를 정의한 틀(클래스)에다 밀가루 반죽(속성)을 넣어 붕어빵의 재료(속성)를 팥으로 할지, 슈크림으로 할지 정하여 붕어빵이라는 객체를 생성해 낼 수 있다. 객체(인스턴스)란 사전적인 정의로 실제 존재하는 것이다. 쉽게 말해 우리가 주변에서 볼 수 있는 책상, 의자, 자동차 그리고 앞서 설명했던 붕어빵과 같은 것들이 곧 객체이다. 객체는 속성과 기능으로 이루어져있다. 속성은 변수를 통해 정의할 수 있고, 기능은 메소드를 통해 구..
[Java]2차원 배열 2차원 배열이란 2차원 배열은 우리가 앞서 배웠던 1차원 배열에서 한 단계 업그레이드된 배열이다. 1차원 배열에서는 한줄에 원하는 값을 담았었는데, 2차원 배열은 그 줄을 겹겹이 쌓는 행렬의 구조를 가진다. 때문에 1차원 배열보다 인데스 좌표를 찾는데 다소 헷갈릴 수가 있다. 2차원 배열 선언 및 초기화 // 2차원 배열 선언 int[][] array; // 2차원 배열 초기화 array = new int[2][5]; // 2행 5열을 가지는 2차원 배열 초기화 2차원 배열 선언과 초기화를 동시에 하는 방법 // 2차원 배열 선언과 동시에 초기화 int[][] array = new int[1][5]; //1행 5열을 가지는 2차원 배열 위와 같은 방식으로 2차원 배열을 선언, 초기화 하면 int형, 즉 ..
[Java] 향상된 for문 향상된 for문이란 향상된 for문이란 JDK 1.5부터 배열의 모든 요소를 참조하기 위해 새롭게 추가된 반복문이다. 배열의 길이만큼 반복하는 작업을 수행하기 때문에 배열이나 여러 원소를 포함한 자료형에서만 사용할 수 있다는 특징이 있다. 문법 for(타입 변수이름 : 배열) { 배열의 길이만큼 반복적으로 실행하고자 하는 명령문; } 예제 public class Main { public static void main(String[] args) { // 향상된 for문에 돌릴 배열 선언 및 생성, 값 초기화 int intArray[] = {1, 2, 3, 4, 5}; // for(데이터타입 변수명 : 배열명) for(int number : intArray) { // 배열의 길이만큼 number를 반복하기 ..
[Java]배열 배열이란 동일한 자료형의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 숫자 1, 2, ..., 10을 int형 변수를 사용하여 저장하면 열번 반복하여 각각의 변수에 넣어야 하지만 배열을 사용하면 하나의 배열에 1부터 10까지 숫자를 넣을 수 있다. 쉽게말해 배열은 한 집에 여러 방이 만들어진다고 보면되겠다. 배열 선언 및 생성 배열 선언의 경우 컴퓨터에게 이런 배열을 사용하겠다 알릴 뿐, 실제로 배열이 만들어 지는 것은 아니다. new연산자와 함께 배열의 크기를 선언해주며 생성해야 배열이 만들어진다. 배열은 방번호라 할 수 있는 인덱스가 주어진다. 여기서 주의할 점은 인덱스번호는 0부터 시작하기때문에 총 5개의 방을 만들었을 때 마지막 방의 번호는 4가 된다. //1. 첫번째 방법 int[] va..