JAVA 33

12. this

this this는 현재 객체, 자기 자신을 나타낸다. this 의 사용 Car클래스의 생성자 매개변수의 이름이 n 이다. n 이라는 변수명은 무엇을 의미하는지 쉽기 알수 없다. n 으로 쓰기 보다는 name 으로 사용하는 것이 좋다. 'name=name' 이라고 코드를 바꾸면, 가깝게 선언된 변수를 우선 사용하기 때문에 'name=name'이라는 코드는 매개변수의 name의 값을 매개변수 name에 대입하라는 의미가 된다. 즉, 필드는 바뀌지 않습니다. 이런 경우 필드라는 것을 컴파일러와 JVM에게 알려주기 위해서 this키워드를 사용해야 한다. 앞의 this.name은 필드 name을 말하고 =(이퀄) 뒤의 name은 매개변수를 의미한다. 즉 매개변수의 값을 필드에 대입하라는 의미가 된다. 클래스 안..

JAVA 2021.03.26

11. 생성자

생성자 모든 클래스는 인스턴스화 될때 생성자를 사용한다.생성자의 특징 생성자는 리턴타입이 없다. 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다. 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다. 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. 자동차가 객체가 될때 반드시 이름을 가지도록 하려면,Car클래스를 다음과 같이 만들어야 한다. 위의 Car 클래스를 이용하여 Car 인스턴스를 생성하는 방법 Car클래스는 기본 생성자를 가지지 않는다. 그래서 기본생성자로 Car 객체를 생성할 수 없다.

JAVA 2021.03.26

10. 열거형(enum)

열거형(enum) 자바는 열거타입을 이용하여 변수를 선언할 때 변수타입으로 사용할 수 있다. 열거형은 JDK5에서 추가되었다. JDK5 이전에는 상수를 열거형 대신 사용 상수를 이용하는 방법 상수를 사용했때의 문제점 String으로 선언된 gender1 에는 MALE,FEMALE 둘 중 한가지 값을 갖기 원하는데, gender1의 type이 String 이기 때문에 gender1 = "소년"; 이렇게 수행 되어도 전혀 문제가 되지 않는다. 실행할때 원했던 값인 MALE,FEMALE 이 아닌 다른 값이 들어오게 되므로 문제를 발생시킬 수 있다. 해결 방법 이런 문제를 발생시키지 않게 하기 위해서 열거형을 사용하시면 됩니다. 열거형 정의 방법 열거형 사용 방법 특정 값만 가져야 한다면 열거형을 사용하는 것이..

JAVA 2021.03.26

9.변수의 scope와 static

변수의 scope와 static 변수의 스코프프로그램상에서 사용되는 변수들은 사용 가능한 범위를 가진다. 그 범위를 변수의 스코프라고 한다.변수가 선언된 블럭이 그 변수의 사용범위이다. 클래스의 속성으로 선언된 변수 globalScope 의 사용 범위는 클래스 전체 이다. 매개변수로 선언된 int value 는 블럭 바깥에 존재하기는 하지만, 메서드 선언부에 존재하므로 사용범위는 해당 메소드 블럭내이다. 메소드 블럭내에서 선언된 localScope 변수의 사용범위는 메소드 블럭내이다. main메소드에서 사용하기 같은 클래스 안에 있는데 globalScope 변수를 사용 할 수 없다. main은 static한 메소드이다. static한 메서드에서는 static 하지 않은 필드를 사용 할 수 없다. stat..

JAVA 2021.03.26

9. 메소드

1) 메소드란? 필드가 물체의 상태라면, 물체의 행동에 해당하는게 메소드다. car에 이름과 번호가 있기도 하지만, car는 앞으로 전진할수도 있고 후진하는 행동도 할 수 있다. 메소드는 입력값이 있고, 그 입력값을 받아서 무언가 한 다음 결과를 도출해 내는 수학의 함수와 비슷한 개념이다. 이때 입력값을 매개변수라고 하고,결과값을 리턴값이라고 합니다. 인자( Argument ) 는 어떤 함수를 호출시에 전달되는 값을 의미한다. 매개 변수( Parameter ) 는 그 전달된 인자를 받아들이는 변수를 의미한다. 메소드란 클래스가 가지고 있는 기능이다. 클래스 안에 선언됩니다. 2) 메소드 활용 메소드를 사용하기 위해서는 메소드가 정의된 클래스인 MyClass 가 생성되어야 한다 객체를 생성할 때는 new ..

JAVA 2021.03.26

8. String 클래스

1)String 문자열을 표현하는 자바에서 가장 많이 사용하는 클래스자바 인스턴스 생성 방법 new연산자를 이용하지 않고 인스턴스를 만드는 경우 String str1 = "hello"; String str2 = "hello"; "hello"라는 문자열이 메모리 중에서 상수가 저장되는 영역에 저장된다. 상수는 변하지 않는 값을 의미. String str2 = "hello"; 이 문장이 실행될 때에 hello 라는 문자열 상수는 이미 만들어져 있으므로 str1이 참조하는 인스턴스를 str2도 참조한다. 2.new연산자를 이용해서 인스턴스를 만드는 경우 String str3 = new String("hello"); String str4 = new String("hello"); new연산자를 이용하여 인스턴스를..

JAVA 2021.03.26

7.클래스

1)클래스란? 자바는 객체를 만들기 위해 반드시 클래스를 먼저 만들어야 한다. 클래스는 객체를 만들기 위한 일종의 틀이다. 붕어빵이 객체라면, 붕어빵 틀은 클래스 자동차 클래스 생성 public class Car{ } Car.java란 파일을 만든다. 저장을 하면 이클립스는 컴파일하여 디스크에 Car라는 클래스를 생성한다. 자동차 클래스가 생성되었다고 해서 자동차가 만들어 진것은 아니다. Car객체 생성하기 (자동차 만들기) new 연산자는 new연산자 뒤에 나오는 생성자를 이용하여 메모리에 객체를 만들라는 명령. 메모리에 만들어진 객체를 인스턴스(instance)라고도 한다. 이렇게 만들어진 객체를 참조하는 변수가 c1 , c2 이다. 위의 코드가 실행되면 Car라는 객체가 2개가 만들어지고 각각의 객..

JAVA 2021.03.26

5. 배열

1) 1차원 배열 배열은 같은 데이터 타입을 가진 연속된 메모리 공간으로 이루어진 자료구조이다.같은 데이터 타입을 가진 여러개의 변수가 필요할 때 사용한다. 배열 생성 방법 정수를 4개 저장 할 수 있는 배열을 생성 하는 방법 배열에 값을 저장하는 방법 배열에 저장된 값을 꺼내서 사용하는 방법 선언과 동시에 초기화하는 방법 2) 2차원 배열 2차원 배열이란 배열의 배열이다. 2차원 배열 생성 방법 정수를 4개씩 담을 수 있는 배열이 3개 생성된다. int[][] array4 = new int[3][4]; 2차원 배열에 값을 저장하는 방법 만약 array4[1] = 10 ; 이렇게 사용하면 오류!! array4[1] 은 또 다른 1차원 배열을 가리킬 수 있는 참조형 변수이기 때문에 값을 담을수는 없다. a..

JAVA 2021.03.26

4.반복문

반복문 반복문은 실행문을 반복적으로 실행해야 할 때 사용 한다.반복문의 종류는 while문, do-while문, for문 이 있다. 1) while문(do-while문) 조건문의 실행 결과가 true일 동안 반복해서 실행한다. 10번 반복하면서 0부터 9까지 출력하는 반복문 1부터 100까지의 합을 while문을 이용하여 구현해 보도록 하겠습니다. while문의 경우 조건이 만족하지 않는다면 한번도 반복하지 않을 수 있다.하지만, do while문의 경우는 무조건 한번은 실행되는 반복문이다. 2)for 문 for반복문은 변수초기화, 조건식, 증감식이 한줄에 모두 있다. 초기화식은 최초 한 번만 수행합니다. 조건식을 수행해서 수행결과가 false라면 for 반복문을 빠져 나갑니다. 수행 결과가 true라면..

JAVA 2021.03.26