Java
-
6장. 입출력Java 2021. 5. 8. 02:02
콘솔 입출력(Input/Output) "생년월일(YYYY/MM/DD)을 입력해주세요"라는 콘솔을 가정해 보겠습니다. 위 코드에서 사용한 InputStream은 자바의 내장 클래스이다. 자바의 내장 클래스 중에 java.lang 패키지에 속해 있지 않은 경우에 import를 한 후 사용해야 합니다. 위 문장에서 알 수 있듯이 System.in은 InputStream의 객체입니다. InputStream의 read 메소드는 1byte의 사용자의 입력을 받아들입니다. 하지만 read()로 읽은 1 byte의 데이터는 byte 자료형으로 저장되는 것이 아니라 int 자료형으로 저장된다. 이 때 저장되는 int 값은 0-255 사이의 정수값으로 아스키 코드 값입니다. 이제 프로그램을 실행을 시켜보겠습니다. 프로그램..
-
5장. 인터페이스, 다형성, 추상클래스Java 2021. 5. 7. 02:41
인터페이스(Interface)는 꼭 이해해야하는 개념입니다. 우리는 앞으로 이 개념을 이해해보도록 하겠습니다. 난 동물원의 사육사이다. 육식동물이 오면 난 먹이를 던져준다. 호랑이가 오면 사과를 던져준다. 사자가 오면 바나나를 던져준다. 이러한 내용을 코드에 담아 보겠습니다. Animal을 상속한 Tiger와 Lion이 등장했다. 그리고 사육사 클래스에서 feed의 메서드를 오버로딩 했습니다. 실행시키면 아래 결과를 얻을 수 있습니다. 만약 여기에 악어, 표범 등이 계속 추가된다면 우리는 feed 메서드를 계속 추가해주어야 합니다. 이렇게 육식동물이 추가될 때마다 feed 메서드를 추가하는 것은 반복적이고 지루한 작업입니다. 우리는 이 어려움을 극복하기 위해서 인터페이스가 등장하게 되었습니다. 인터페이스..
-
5장. 객체지향 프로그래밍-Call by value, 상속, 생성자Java 2021. 5. 7. 01:34
Call by value 메서드에 객체를 전달할 경우 객체의 객체변수 값을 변경할 수 있게 됩니다. 하지만 이 코드는 객체 변수 count의 값을 update()에 넘겨서 변경시키더라도 값에 변화가 없습니다. 그 이유는 update()가 값을 전달 받았기 때문입니다. 객체를 받도록 바꾸게 되면 값이 바뀌는 것을 확인할 수 있습니다. 좀 더 쉽게 설명을 하자면 객체를 보내면 객체에 있는 인스턴스 값이 바뀌지만 상수인 값을 보내게 되면 변하는 값은 없게 됩니다. 상속 이제 자바의 상속(Inheritance)에 대해서 알아보겠습니다. 상속은 말 그대로 자식이 부모로부터 무언가를 물려 받는 것입니다. 우리는 Animal 클래스를 상속하는 Dog 클래스를 만들어보도록 하겠습니다. 클래스를 상속하기 위해서는 ext..
-
5장. 객체지향 프로그래밍 - 클래스, 메서드Java 2021. 5. 6. 16:26
자바는 객체지향(Object Oriented) 프로그래밍 언어입니다. 객체지향에는 많은 개념들이 존재합니다. 클래스, 객체, 인스턴스 상속 인터페이스 다형성 추상화 자바를 배우는데 가장 큰 고비가 이 객체지향 파트입니다. 클래스 동물이라는 클래스를 만들 수 있습니다. 이 클래스는 클래스의 선언만 있고 내용이 없는 간단한 형태의 클래스입니다. 하지만 이런 간단한 클래스도 중요한 기능을 가지고 있습니다. 그 기능은 바로 객체를 만드는 기능입니다. 객체는 아래와 같이 만들 수 있습니다. new는 객체를 생성할 때 사용하는 키워드 입니다. 이렇게 하면 Animal 클래스의 인스턴스 animal이 만들어지게 됩니다. #객체와 인스턴스 클래스에 만들어진 객체리를 인스턴스라고 합니다. 그렇디면 객체와 인스턴스의 차이..
-
3. 자료형 StringBuffer, 배열, 리스트, 제네릭, MAPJava 2021. 5. 3. 15:51
StringBuffer StringBuffer는 문자열을 추가하거나 변경할 때 주로 사용하는 자료형이다. append 이러한 코드로 사용이되는데 결과는 아래와 같다. StringBuffer 자료형은 append라는 메소드를 이용하여 계속해서 문자열을 추가해 나갈 수 있다. 그리고 toString()을 이용하면 String 자료형으로 변경할 수 있다. String만을 사용할 경우 위와 동일한 결과를 출력하는 코드를 만들 수 있는데 결과는 동일하지만 내부적으로 객체가 생성되고 메모리가 사용되는 과정이 다르다. StringBuffer 객체는 단 한번만 생성되고 String 객체는 + 연산이 있을 때마다 생성된다. 왜냐하면 String 자료형은 한 번 값이 생성되면 그 값을 변경할 수 없다. 이러한 것을 imm..
-
3. 자료형 - 숫자, 부울, 문자, 문자열Java 2021. 4. 30. 22:09
자료형 자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등의 자료 형태로 사용하는 그 모든 것을 말합니다. 프로그래밍 언어를 배울 때 ' 그 언어의 자료형을 알게 된다면 그 언어의 반을 터들한 것과 다름없다.'라는 말이 있습니다. 자료형은 그만큼 프로그래밍 언어에서 중요한 부분이기 때문에 자세히 살펴보도록 하겠습니다. 숫자(int, Long, double, float) 정수 자바의 정수를 표현허기 위한 자료형은 int와 long입니다. 물론 byte와 short가 있으나 거의 사용하지 않으므로 제외하겠습니다. int -2147483648 ~ 2147483647 long -9223372036854775808 ~ 9223372036854775807 int num= 10; Long num2 = 100000..
-
2. 자바 시작하기Java 2021. 4. 30. 21:08
변수 변수(Variable) : 변할 수 있는 수이다. 쉽게 생각하면 box라고 생각하자. 우리는 이 개념을 이해하려면 아래의 내용을 이해하다보면 어느 순간 변수라는 개념을 알게 될 것이다. int a; a=10; System.out.println(a); 위의 과정을 거치게 됩니다. 코드를 설명하자면 정수형 a에 10이라는 값을 저장한 후 표준출력으로 출력한 결과입니다. 변수명 변수의 이름은 프로그래머가 마음대로 지을 수 있습니다. 위의 코드에서는 a라고 지었지만 저기를 one으로 지어도 sanosf로 지어도 무방하다는 것입니다. 단 변수의 이름을 지을 때 지켜야 할 몇가지 규칙이 있습니다. 변수명은 숫자로 싲가할 수 없다. _와 $ 문자 이외의 특수 문자는 사용할 수 없다. 자바의 예약어를 사용할 수 ..