DEVELOPER B 🌱/Java
[Java] 변수의 명명 규칙과 표기법
# 변수의 명명 규칙 프로그래밍에서 사용하는 모든 이름을 식별자(identifier)라고 하며 식별자는 같은 영역 내에서 서로 식별 될 수 있어야 합니다. 변수의 이름 역시 식별자로 다음과 같은 규칙을 지키며 서로 구분될 수 있게끔 이름을 지어야 합니다. 기본적으로 문자로 이루어지며 추가적으로 숫자와 특수문자 '_' 와 '$'를 이름에 사용할 수 있습니다. int apple; // 문자 int apple1;// 문자 + 숫자 int _apple;// '_' + 문자 int $apple;// '$' + 문자 int _$apple1;// '_' + '$' + 문자 + 숫자 숫자로 시작해서는 안됩니다. 시작은 무조건 문자 또는 '_' 또는 '$'만 가능합니다. int banana10;// 가능 int 10ba..
[Java] 자바 언어의 특징
최근 '자바의 정석' 책을 보다가 자바 언어의 특징을 보고, 좋은 내용인 것 같아 기억하기 위해서 따로 적어두기로 했다. 1. 운영 체제에 독립적이다 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요하였지만, 자바에서는 더 이상 그런 노력을 하지 않아도 된다. 이것은 일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능한 것인데, 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다. 자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적이어서 썬에서는 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM..
[Java] 변수의 원시 타입과 래퍼 클래스(Primitive Type & Wrapper Class)
자바 코드를 보면 종종 변수가 같은 정수형인데도 어느 곳에서는 int를 사용하고 다른 곳에선 Integer를 사용하는 것을 볼 수 있습니다. 왜 같은 형인데도 표기 방법이 다를까요? 이것은 변수의 원시 타입(Primitive Type)과 래퍼 클래스(Wrapper Class)의 관계로 알 수 있습니다. # 원시 타입 (Primitive Type) • 기본형이라고도 부르며, 실제 연산에 사용되는 변수로 모두 8 종류가 있습니다. (byte, short, int...) • 기본형은 반드시 사용하기 전에 선언되어야 합니다. • OS에 따라 자료형의 길이가 변하지 않습니다. • 비객체 타입으로, null 값을 가질 수 없습니다. 여기서 중요한 것은 Primitive Type은 비객체 타입이라는 건데요. 프로그램..
[Java]Java의 다형성, 오버라이딩(Overriding)
1. 다형성이란 ? 다형성(Polymorphism) 개념은 객체 지향 프로그래밍에서 중요한 특성 중 하나입니다. 다형성은 추상적이고 포괄적인 개념이라 정확하게 어떤 동작이다라고 딱 떨어지게 표현하기는 어렵습니다. 대신 다형성을 나타내는 여러가지 방식과 방법을 통해서 다형성을 설명할 수는 있습니다. 다형성이란 간단히 말해 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 말합니다. 좀 더 프로그램적으로 말하자면, 하나의 클래스나 함수가 다양한 방식으로 동작할 수 있도록 만드는 것입니다. 실생활 예로 다형성의 가장 유명하고 이해하기 쉬운 예로는 다형성을 붕어빵 틀에 비유하는데, 붕어빵 틀에 재료로 무엇을 담느냐에 따라 팥붕이 되거나 슈붕이 되거나 피붕이 되겠죠. 완벽한 비유라고는 할 수 없지만, 다형성 개..
[Java] 화면에서 입력 받기 : 스캐너(Scanner)
자바에서 화면으로부터 입력을 받아오는 방법은 정말 다양합니다. 그 중에서 가장 기본적이고 보편적인 방법이 Scanner 클래스를 이용한 방법입니다. Scanner가 보편적으로 쓰이는 이유와 Scanner의 사용법, 유의사항 등 Scanner 클래스에 대해 알아보겠습니다. 입출력(I/O)이란? I/O란 Input/Output의 약자로 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말합니다. Scanner는 Input/Ouput 중 Input에 해당하며, 화면으로부터(사용자로부터) 입력을 받는 것을 도와주는 클래스입니다. Scanner 클래스 화면으로부터 읽어온 바이트를 정수, 실수, 문자, 문자열, boolean 등의 타입으로 변환해 리턴하는 클래스 java.util.Scanner :..
[Java] 빠른 입출력 : BufferedReader & BufferedWriter
1. BufferedReader & BufferedWriter란? 간단히 말해서 BufferedReader와 BufferedWriter란 버퍼를 이용하여 데이터의 입출력을 다루는 함수입니다. 그렇다면 우선 버퍼란 무엇일까요? 전에 버퍼에 대해 정리해둔 글입니다. 필요하시다면 참고해보세요. [개념] 버퍼(Buffer) 앞서 정리했던 스트림과 늘 붙어다니는 개념이 바로 버퍼(Buffer)다. 버퍼도 스트림과 같이 일상에서 자주 쓰이는 용어다. 누구나 한번쯤 영상을 보다가 멈추면 "버퍼링에 걸렸다"라고 말해본 경 ontheway.tistory.com 윗 글에서 마지막에 버퍼는 데이터를 옮기는 바구니에 비유했듯이, 입/출력에서의 버퍼란 입/출력이 발생할때마다 데이터를 하나하나 전송하지 않고 차례대로 모아두었다가..
[Java] 구분자 사용 문자열 자르기 : split() vs StringTokenizer
자바에서는 구분자를 기준으로 문자열을 자를 때 StringTokenizer 클래스와 split() 메소드를 사용할 수 있다. 1. StringTokenizer 클래스 java.util에 포함된 클래스이므로 객체를 생성해 사용 구분자를 생략하면 공백이 기본 구분자 문자 또는 문자열로 문자열을 구분 공백은 무시됨(생략) 장점 : 속도가 빠르다 단점 : 정규표현식 사용 불가, 원패턴 +) 정규 표현식이란? 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어 ⁕ StringTokenizer 사용법 생성자 설명 public StringTokenizer(String str); 전달된 매개변수 str을 공백을 기준으로 문자열을 분리 public StringTokenizer(String str,Strin..