전체 글
-
JAVA | Applet (애플릿)programming/JAVA 2020. 6. 3. 23:12
Applet (애플릿) 작은 어플리케이션이라는 뜻으로 웹브라우저를 통해 실행될 수 있는 자바클래스를 말한다. application의 응용이라는 뜻과 let의 작다라는 의미의 합성어로, 크기가 작아서 네트워크 전송에 적합하며, 웹(WWW)을 사용해 배포할 수 있다. 사용 브라우저는 불러온 문서안에 애플릿이라는 태그 존재시 지정된 자바 애플릿을 웹 서버로부터 내려받아 실행된다. -> 애플릿을 HTML페이지에 포함시킬때 사용 자바 어플리케이션은 java.exe를 통해 main메소드가 호출되면서 실행되지만, 애플릿은 main메소드가 필요하지 않으며 웹브라우저를 통해 실행된다. Applet 특성 애플릿 관련정보가 포함된 HTML문서를 작성해야한다. java.exe가 아닌 웹브라우저를 통해 실행된다. 애플릿은 ja..
-
JAVA | AWT & Swingprogramming/JAVA 2020. 6. 2. 23:24
GUI 응용프로그램 GUI란 Graphical User Interface의 약자로 이미지 혹은 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성하고, 키보드 외 마우스 등의 편리한 입력 도구를 이용하여 사용자가 입력을 편리하게 사용 할 수 있도록 작성하는 인터페이스 ! 자바는 AWT 와 Swing 패키지를 제공하여 다양한 모양으로 쉽게 GUI를 구성하도록 해준다. AWT ( Abstract Window Toolkit) 와 Swing AWT는 해당 시스템에서 실행될 시 해당 컴포넌트를 사용하는 GUI이다. 즉, 운영체제가 제공하는 자원을 사용한다는 의미이다. 예를 들면 윈도우에서 버튼을 만들었다면 윈도우 시스템이 제공하는 모양의 버튼이 나온다. 자바 초기버전에 제공되던 GUI이다. AWT의 문제점 ! 컴포..
-
JAVA | 스레드(Thread)programming/JAVA 2020. 5. 30. 00:10
프로세스와 스레드(Thread) 프로세스란? 보통 우리가 만드는 프로그래밍 언어(java,c,c++ 등)로 소스를 짜서 만든 것을 '프로그램' 이라고 한다. '프로그램'을 실행 시켜 동작하게 만들면 이것을 '프로세스' 라고 한다. 프로세스란 '실행 중인 프로그램' 이다. 즉 프로그램을 실행하면 OS로 부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원 그리고 스레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 바로 '스레드' 이다. * 멀티 태스킹(multi tasking) 은 두 가지 이상의 작업을 동시에 처리하는 것을 말한다. 운영체제는 멀티 태스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적..
-
개념정리 | MVC 패턴programming/etc. 2020. 5. 28. 22:57
MVC 패턴 Model - View - Controller 의 약자, 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. 즉, 도메인(비즈니스) 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행할 수 있다. MVC 패턴 - M ( Model , domain ) Model 이란 프로그램이 작업하는 세계관의 요소들을 개념적으로 정의한 것이라고 볼 수 있다. 데이터를 가지고 있는 객체 , 테이터가 바뀌었을 때 컨트롤러의 데이터를 업데이트 하는 로직도 포함한다. 프로그램이 목표하는 작업을 원활하게 수행하기 위해 필요한 물리적..
-
JAVA | 인터페이스와 추상 클래스programming/JAVA 2020. 5. 26. 23:15
인터페이스 (Interface) 와 추상 클래스(Abstract Class) 인터페이스는 일종의 추상클래스 라고 생각할 수 있다. 즉, 추상 클래스와 비슷한 기능을 하지만 클래스가 아니다. 추상메서드와 상수로만 이루어져있기 때문에 로직을 작성할 수 없으며 다중 상속이 가능하다. * 인터페이스의 상속은 인터페이스 끼리만 가능하며 implements 키워드를 사용한다. 사용 목적 구현하는 모든 클래스에 대해 특정한 메서드가 반드시 존재하도록 강제한다 ! 추상 클래스는 미완성된 클래스라고 생각하자! 미완성된 클래스는 미완성된 메서드(추상 메서드)를 포함하고 있다. 추상 메서드는 선언만되어 있고 구현이 되어있지 않은 불완전한 메서드이므로 객체로 생성되어서는 안된다. 그렇기 때문에 추상 클래스로 선언하여(abst..
-
JAVA | 추상 클래스programming/JAVA 2020. 5. 26. 22:39
추상 클래스 란? 추상이란 실체 간에 공통되는 특성을 추출한 것이다. ex) 원숭이/곤충/물고기 라는 실체에서 공통되는 특성을 추출해보면 동물이라는 공통점이 있다. 여기서 동물은 구체적인 실체라기보다는 실체들의(원숭이,곤충,물고기..) 공통되는 특성을 가지고 있는 추상적인 것 이라고 볼 수 있다. "실체 클래스" 는 객체를 직접 생성할 수 있는 클래스를 의미한다. 실체 클래스들의 공통적인 특성을 추출해서 선언한 클래스를 "추상 클래스"라고 한다. 실체 클래스 와 추상 클래스는 상속의 관계를 가지고 있다. 추상 클래스가 부모 이고 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성(필드,메소드) 을 물려받고, 추가적인 특성을 가질 수 있다. *추상 클래스는 실체 클래스의 공통되는 특성을..
-
JAVA | 인터페이스(Interface)programming/JAVA 2020. 5. 26. 00:54
인터페이스(interface) 란? 인터페이스는 모든 기능을 추상화로 정의한 상태이다. 즉 몸체가 없는 메서드들의 모임이다. 클래스를 구현하기 전에 메서드를 먼저 정해놓는 것이라고 생각! 인터페이스의 역할 개발코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킨다. 때문에 개발 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알고 있으면 된다. 여기서 드는 의문점!? 바로 객체의 메소드를 호출하지 않고 귀찮게 중간에 인터페이스를 두는지? 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하기 위해서이다. 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능하므로 어떤 객체를 사용하느냐에 따라서 ..
-
JAVA | 상속(Inheritance)programming/JAVA 2020. 5. 21. 23:58
상속(Inheritance) 개념 자식(클래스)이 상속받고 싶은 부모(클래스)를 선택해서 물려받는다. 즉, 자식 클래스가 어떤 부모 클래스를 상속받을 것인지 결정 이때 상속 받는 클래스를 자식(하위 / 서브)클래스 라고 하고 상속을 해주는 클래스를 부모(상위 / 슈퍼) 클래스라고 한다. 자식 클래스가 부모 클래스로부터 상속을 받게 되면 부모 클래스의 필드와 메서드를 물려받게 된다. * 부모 클래스에서 private 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외 * 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외 장점 중복된 코드를 줄일 수 있다. 부모 클래스의 수정으로 모든 자식 클래스들의 수정 효과를 가져오기 때문에 유지 ..