전체 글

Calculator를 만들면서 버튼을 클릭하면 화면에 글자가 작성되게 하고싶었다. 이를 위해 필요한 개념인 Event에 대해서 간략하게 정리하고자 한다. Event - GUI 컴포넌트에서 발생되는 행위를 의미한다. ex) 버튼 클릭, 리스트 선택, 체크박스 체크 등 모든 이벤트 클래스는 java.util.EventObject클래스로부터 상속받는다. 해당 클래스에는 이벤트를 발생시킨 객체를 알려주는 getSource() 메서드가 존재한다. // EventObject 클래스 주요 메서드 Object getSource() // 이벤트를 발생시킨 객체 반환 String toString() // 이벤트 이름을 문자열로 반환 Event 3대 속성 1. Event Source - 이벤트가 발생되는 컴포넌트 ex) 버..
계산기 만들기 프로젝트를 본격적으로 진행하기에 앞서 Console 단에서 입출력을 진행하기에는 프로젝트의 완성도가 떨어질 것 같다는 생각이 들었다. 실제 계산기 프로그램들 처럼 GUI로 표현해보면서 Java의 여러 기능들을 익혀보고자한다. Java로 GUI를 표현하는 방법으로는 AWT, Swing 이 두가지 패키지가 대표적이라고 볼 수 있다. 1. AWT(Abstract Window Toolkit) Package OS의 자원을 이용해 화면을 구성한다. (운영체제별로 UI가 다르다) java.awt.* ex) Frame, Button, TextField, ... 2. Swing Package UI적인 측면에서 각종 시스템이 공통적으로 제공받을 수 있도록 Java영역에서 사용하는 기능을 적용받는다. java..
계산기를 구현하면서 문득 한 문자열에서 Tokenization을 통해 사칙연산을 제외한 문자들을 걷어내고 싶었다. 코드를 짜는 초반이라 Tokenization을 어떻게 할까 고민하면서 구글링으로 여러 자료를 찾아보다가 Split함수를 알게되었다. 아래 구문을 포함한 코드를 실행하자 에러가 발생했다. // Initial Code Scanner input = new Scanner(System.in); String str = input.next(); String[] p = str.split("+"); //error split 함수의 구조를 다시 살펴보니 해당 함수는 정규표현식을 통해 문자를 인식한다고 한다. 정규표현식에 따르면 +가 의미하는 바는 "앞 문자가 1개 이상 존재할 수 있다." 라는 뜻이라고 한다...
args로 cmd / argument에서 args의 값이 입력되지 않았을 때 예외처리를 해주고싶어 아래와 같은 문법을 작성했다. //Initial Code String name = args[0]; if(args[0] == null || args[0] == " ") { System.out.println("Please input Username\nex)java Main User_name"); } System.out.println("Hello User "+name); 하지만 args[0]의 초기값이 입력되지 않았을 때 다음과 같은 에러가 발생했다. 위 에러메시지를 읽어보고, Index 0번째가 length 0과 결속되지않았다(?) 정도로 해석해보았다. 여러가지 자료를 찾아보면서 알게 된 것인데 아래 예제의 i..
정의 자료의 집합 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것 CRUD 자료구조를 구현하는데 있어 기본적으로 수행해야할 연산들 Create : push(), insert() Read : peek(), get(), find() Update : at() Delete : pop(), remove() 배열 메모리 상에 같은 타입의 자료가 연속적으로 저장된다. 단위 : 자료값을 나타내는 가장 작은 단위. 연결 리스트 단위 [Node] 노드는 자료와 다음 노드를 가리키는 참조값으로 구성되어 있다. 노드가 다음 노드로 아무것도 가리키지 않으면 리스트의 끝이다. 원형 연결리스트 각 노드는 다음 노드를 가리키고, 마지막 노드가 처음 노드를 가..
참조형 변수 (Reference variable) 참조형 변수는 reference와 value가 같은 취급이다. 참조형변수는 선언과 동시에 초기화해야한다. 초기화 된 후에는 다른 변수를 참조하도록 변경할 수 없다. 참조형 변수는 l-value(수정할 수 있는 값)를 가리켜야한다. 참조형 변수는 NULL로 초기화 할 수 없다. int &ref = value1; // (O) ref = value2; // (X) 참조형 vs 포인터 위에서 ref == value라고 말했다시피 참조형은 접근할 때 암시적으로 역참조되는 포인터와 같은 역할을 한다. 포인터와 비교해보았을 때 아래 코드에서 *ptr과 ref는 동일하게 평가된다. (ptr은 &ref와 동일하게 평가) 참조형은 선언과 동시에 유효한 객체로 초기화해야하고..
_주노
juno.log