자바는 객체지향 프로그래밍이라고들 한다. 그럼, 객체는 뭘까? 고유한 기능(동작)과 값(데이터)을 가진 녀석이라고 할 수 있다. (변수[필드] + 함수[메소드]) 우리가 몇 번 사용해봤던 Random객체는 간단히 임의의 값을 만들어 내는 능력을 가진 녀석. String객체는 문자열을 관리하는 능력을 가진 녀석. Scanner객체는 키보드로 입력된 값을 자료형 별로 받아주는 능력을 가진 녀석. 으로 요약해볼 수 있겠다. 위 Random, Scanner, String이라는 객체의 능력을 구분하는 명칭을 class라고 한다. 즉, 객체의 종류를 class라고 한다. 또는 객체의 자료형을 class라고 한다. (변수의 종류를 자료형이라고 하듯) 자바에서는 이러한 클래스들을 기능별로 약 2000여개 정도 만들어두..
오늘은 자바의 배열을 소개해보겠다. 가장 먼저 자바에서의 배열은 객체이다. C언어에서 배열은 스택(Stack)영역에 생성할 수 있었다. 마치 지역변수처럼 말이다. 하지만, 자바에서는 무조건 힙(Heap)영역에 생성해서 사용해야 한다. 그 말은 객체로 생성해야 한다는 의미이다. 아래의 3칸짜리 int형 배열 객체를 생성하는 코드를 보자. int[] arr = new int[3]; 여기서 배열의 각 칸에는 무슨 값이 들어있을까? 우린 분명히 초기화를 한 적이 없다. 모든 객체는 생성 시에 초기화를 하지 않으면 멤버 변수를 0에 해당하는 값으로 초기화를 시킨다. 여기서 int형은 0, double형은 0.0, boolean형은 false, 참조형은 모두 null로 자동 초기화가 된다. System.out.pr..
벌써 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..