Language

Language/Java

자바의 클래스 소개

자바는 객체지향 프로그래밍이라고들 한다. 그럼, 객체는 뭘까? 고유한 기능(동작)과 값(데이터)을 가진 녀석이라고 할 수 있다. (변수[필드] + 함수[메소드]) 우리가 몇 번 사용해봤던 Random객체는 간단히 임의의 값을 만들어 내는 능력을 가진 녀석. String객체는 문자열을 관리하는 능력을 가진 녀석. Scanner객체는 키보드로 입력된 값을 자료형 별로 받아주는 능력을 가진 녀석. 으로 요약해볼 수 있겠다. 위 Random, Scanner, String이라는 객체의 능력을 구분하는 명칭을 class라고 한다. 즉, 객체의 종류를 class라고 한다. 또는 객체의 자료형을 class라고 한다. (변수의 종류를 자료형이라고 하듯) 자바에서는 이러한 클래스들을 기능별로 약 2000여개 정도 만들어두..

Language/Java

자바의 배열(Array)

오늘은 자바의 배열을 소개해보겠다. 가장 먼저 자바에서의 배열은 객체이다. C언어에서 배열은 스택(Stack)영역에 생성할 수 있었다. 마치 지역변수처럼 말이다. 하지만, 자바에서는 무조건 힙(Heap)영역에 생성해서 사용해야 한다. 그 말은 객체로 생성해야 한다는 의미이다. 아래의 3칸짜리 int형 배열 객체를 생성하는 코드를 보자. int[] arr = new int[3]; 여기서 배열의 각 칸에는 무슨 값이 들어있을까? 우린 분명히 초기화를 한 적이 없다. 모든 객체는 생성 시에 초기화를 하지 않으면 멤버 변수를 0에 해당하는 값으로 초기화를 시킨다. 여기서 int형은 0, double형은 0.0, boolean형은 false, 참조형은 모두 null로 자동 초기화가 된다. System.out.pr..

Language/Java

Java에서의 String 소개 - 3

벌써 String클래스의 메소드를 소개하는 세 번째글이다. 바로 본문으로 가보자. //7. 특정문자열로 시작하는지 여부 System.out.println(s3.startsWith("Hello")); //7-1. 특정문자열로 끝나는지 여부 System.out.println(s3.endsWith("Hello")); startsWith()과 endsWith()메소드이다. 이름에서부터 어떤 역할인지 알 것만 같은 메소드들이다. 여기서 사용한 s3는 바로 이전 글에 있었는데, 아래 글을 참고해주면 좋을 것이다. 특정 문자열로 시작하거나 끝나는지 여부를 알려주는 메소드라고 주석에 적었는데 '여부'를 알려준다는 것은 boolean값을 리턴한다는 의미이다. https://bonustrack02.tistory.com/7..

Language/Java

Java에서의 String 소개 - 2

이번 글은 저번 글에 이어 String class에서 자주 쓰이는 메소드(함수)들을 소개하겠다. //3. 문자열에서 특정 위치의 char 얻어오기 char ch = str.charAt(0); System.out.println(ch); //System.out.println(str.charAt(5)); // error 인덱스번호 벗어남 for (int i = 0; i < 5; i++) { System.out.println(str.charAt(i)); } 이번에 소개할 메소드(함수)는 charAt()이다. 눈치가 빠른 사람이라면 이 메소드의 리턴 타입을 바로 인지했을 것이다. 보다시피 char형이다. String은 내부적으로 문자열을 문자형 배열로 저장한다. 바로 이전 글에서 str을 "Hello"라고 저장했..

Language/Java

Java에서의 String 소개 - 1

오늘은 이전부터 편하게 사용해왔던 String에 대해 소개하려 한다. 나는 이전 몇몇 글에서도 자바에서 문자열은 객체라고 소개한 적이 있다. 코드를 예로 들면 내가 new String("Hello");와 같은 식으로 사용한 적도 있었다. 분명히 new라는 키워드는 객체를 생성할 때 사용하는 키워드이다. 그런데 한 번 더 생각해보자. 객체는 무엇이 있어야 생성되는가? 바로 클래스이다. 결국 String은 클래스였다는 소리다. 클래스는 C언어의 구조체와 비슷하지만, 이와 달리 변수(필드)와 함수(메소드)를 가질 수 있다고 설명했다. 그렇게 String이라는 클래스를 만든 Oracle이라는 회사에서 같이 제공해준 함수(메소드)가 있다. 오늘은 String class의 자주 쓰이는 함수(메소드)를 알아보겠다. ..

Language/Java

Java의 print와 scan

컴퓨터 언어에서 가장 기본적인 내용 중 하나는 많은 사람들이 알고 있듯 print문을 통해 Hello World를 출력해보는 것이다. 그래서 바로 이전 글에서 사용은 했지만 소개하지 않았던 print문을 사용하는 방법과 C언어에서의 scanf와 같은 기능을 사용하는 방법에 대해 소개해보려 한다. 저번 글에서 마지막에 객체만 생성해봤던 클래스가 있었다. Scanner라는 클래스이다. 이 클래스를 이용하면 사용자의 키보드 입력을 받을 수 있다. 하지만, 그 전에 먼저 알아야할 내용이 있다. 충격적인 사실을 말하자면 Scanner클래스는 사실 사용자의 키보드 입력을 받을 수 있는 자체적인 기능이 없다. 그럼 이 녀석은 대체 어떻게 키보드 입력을 받을 수 있는 것일까?? 내가 첫 글에서부터 사용했던 출력 기능을..

Language/Java

짧은 객체지향 프로그래밍 소개

자바에서 print와 scan을 소개하기 전에 객체지향 프로그래밍의 간단한 개념을 알아야할 것 같다. 먼저 C언어에서의 함수(Java에서는 메소드)는 main함수 안에서 바로 사용할 수 있었다. 그런데 자바 파일을 보면 다른 점이 있다. main이라는 함수 앞에 public static가 붙어있고 파라미터도 있지만 그 외곽은 class가 감싸고 있다. 간단히 말하면 자바에서 모든 함수(메소드)는 클래스 안에서 사용해야 한다. 그리고 이 클래스는 일종의 설계도면이라고 할 수 있다. C언어의 구조체 선언은 어떤 역할이었는지 다시 떠올려보자. struct AAA { int a; double b; }; main함수 위에 이런 구조체를 선언했다면 우리는 a와 b라는 변수를 만든 것일까? 아니다. 이 구조체는 자료..

Language/Java

Java 참조 자료형과 출력 예제

이번 글에서는 자바의 참조 자료형을 살펴보려고 한다. 맨 앞에서 자바는 자료형을 크게 2가지로 구분할 수 있다고 했다. 기본형과 참조형이었다. 기본형은 8가지가 있었고 나머지는 모두 참조형이라고 했다. 근데 참조형이 뭘까? 그냥 무슨 뜻일까? 이는 C언어의 포인터와 같다. 다시 말해, 자바에서는 참조변수를 사용할 때 반드시 객체를 생성하여 사용하는데 그 때 객체를 제어하기 위한 변수이다. (객체는 C언어의 구조체와 비슷한 느낌이지만 그 안에 함수까지 가질 수 있는 녀석이라고 보면 되겠다.) 먼저, C언어에서 포인터는 어떤 특징이 있었는지 대략 생각해보자. 자료형을 얘기하고 있다보니 참조변수도 byte size가 있을 것이다. 그럼 Java에서의 참조변수는 얼마일까? 위에 보면 참조변수는 포인터와 같다고 ..

Language/Java

Java 기본 자료형 - 2

이번 글은 저번에 제대로 다루지 못했던 실수형 자료형들을 보려고 한다. 먼저 자바에도 실수형 자료형은 C언어와 같이 float형과 double형이 있다. 다행스럽게도 두 자료형은 byte size 또한 같다. float형은 4byte, double형은 8byte이다. 그리고 이 byte size를 유념해서 아래 내가 사용한 예제를 보자. public class Ex02 { public static void main(String[] args) { float exchangeRate = 1136.50F; double USDAmount = 600.50; double KRWAmount = 682468.25; System.out.println(exchangeRate); System.out.println(USDAmo..

Language/Java

Java 기본 자료형 - 1

먼저, 자바의 자료형은 크게 두 종류로 나눌 수 있다. 기본형과 참조형이다. 기본형은 C언어를 공부했던 사람이라면 짐작이 가겠지만 자바에는 C언어에 없는 자료형도 있다. 일단 크기가 작은 순서대로 나열하면 boolean, byte, char, short, int, long, float, double이다. 반대로 참조형은 단순히 생각하면 기본형이 아닌 모든 변수는 참조형에 해당한다고 볼 수 있다. 가장 유명한 String을 대표적인 예로 꼽을 수 있다. 이번 글에서는 가장 기본적인 기본 자료형만 다뤄볼 생각이다. 내가 실제로 강의를 들으면서 실습했던 예제의 코드를 가져와봤다. public class Ex01 { public static void main(String[] args) { byte age; sh..

BonusTrack02.dev
'Language' 카테고리의 글 목록 (5 Page)