본문 바로가기

자바기초

(45)
자바관련상식 - CGI와 서블릿 그리고 톰캣 (+JSP) CGI (common gateway interface) - 서버와 응용프로그램 사이에 데이터를 주고 받기 위한 표준화된 방법 - 요청이 있을 때마다 새로운 프로세스가 생성되어 응답. (서블릿보다 무겁다.) 톰캣 (Tomcat) - Java 기반의 서블릿 컨테이너(혹은 웹 컨테이너)만 있는 웹 애플리케이션 서버 - 웹 서버와 연동하여 실행할 수 있는 자바 환경을 제공하여, JSP와 자바 서블릿이 실행할 수 있는 환경을 제공하고 있다. - 관리툴을 통해 설정을 변경할 수 있지만, XML 파일을 편집하여 설정할 수도 있다. 그리고, HTTP 서버도 자체 내장하기도 한다. 서블릿 (Servlet) - 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바(Java)로 작성된 서버측 프로그램..
자바관련상식 - JVM과 바이트코드 JVM (Java Virtual Machine) 코드 최적화와 백엔드를 담당. https://cyj42.tistory.com/entry/JVM?category=756317 JVM JVM (=Java Virtual Machine. 자바 가상 머신) Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트 코드를 실행시키기 위한 가상머신. 컴파일러보다 느림.(자바 명령을 한 번에 읽고 실행시키기 때�� cyj42.tistory.com 바이트코드 (Bytecode) 고급 언어로 작성된 소스 코드를 가상머신이 이해할 수 있는 중간 코드. (C, C++에서 어셈블리어처럼) VM은 이 바이트코드를 각각의 하드웨어 아키텍처에 맞는 기계어로 다시 컴파일. 이진 표현법. 인터프리터(코드를 한 줄씩 읽어 내려가며 실행하는..
자바관련상식 - J2EE, JDK, JRE, J2SE 차이 J2EE (Java 2 Enterprise Edition) - 1992.12. 썬 마이크로시스템즈 자바를 이용한 서버측 개발을 위한 플랫폼. 버전 5.0 이후로 Java EE로 개칭 (2006.05.11) 매우 방대한 범위를 다루는 스펙 집합으로 Servlet, JSP 등이 이에 포함된다. WAS (웹 애플리케이션 서버) : Java EE 스펙에 따라 제품으로 구현한 것 JDK (Java Development Kit) - 썬 마이크로시스템즈 자바 환경에서 돌아가는 프로그램을 개발하는 데 필요한 툴들을 모아놓은 소프트웨어 개발을 위한 패키지. JRE, JVM, 컴파일러, 디버거 등 자바 애플릿 및 응용프로그램 개발을 위한 도구들이 포함된다. +자바 애플릿 : 자바 바이트코드 형태로 배포되는 애플릿으로, J..
hasNextInt() & nextInt() nextInt()는 입력된 값이 숫자가 아닐 경우 ERROR가 발생. 이를 막기 위하여 hasNextInt()를 사용한다. hasNextInt()는 입력된 값이 숫자인지 판별. while문을 사용하여 입력된 값이 숫자가 아닐 경우, nextLine()으로 들어온 값을 날려주고, 숫자를 입력할 때까지 다시 값을 받도록 한다. 입력된 값이 숫자일 경우, while문을 벗어나고, 입력된 숫자를 nextInt()에 넣어준다.
코딩의 구조 5가지 키워드 : 입력 처리 저장 전송 출력 입력 코딩의 목적은 컴퓨터에게 일을 시키는 것인데, 일을 시키려면 지시가 있어야 함. 즉, 입력은 필수적. 사람을 위한 입력장치(키보드, 마우스, 터치패드, 마이크 등), 각종 센서 또는 시스템에서 발생하는 이벤트, 다른 프로그램, 네트워크를 통한 요청 등 다양한 방법으로 이루어짐. 내린 지시의 결과를 보기 위하여 출력이 필요함. ( 입력 - 출력 ) 출력 디스플레이, 프린터, 스피커 등 다양한 방법으로 출력 가능. 처리 연산, 판단, 반복 등 컴퓨터가 잘 할 수 있는 핵심요소가 포함됨. 저장 프로그램에 입력되고 처리된 데이터를 나중에 사용할 수 있도록 파일이나 데이터베이스에 담는 과정. 전송 물리적으로 떨어진 시스템끼리 정해진 회선을 통해 데이터를 주고받는 ..
코딩의 기본 코딩 : '컴퓨터가 알아들을 수 있는 부호(code)를 만든다'는 의미 code는 1과 0으로 표현됨.(디지털) 사람과 컴퓨터가 소통할 수 있는 프로그래밍 언어를 만듦. 목적은 컴퓨터에게 일을 시키기 위함. 컴퓨터에게 시키는 일 : 양이 많거나, 반복적이거나, 복잡한 일. 프로그래밍 언어는 대부분 영어와 기호로 이루어져 있으며, 중요한 것은 논리력. 논리적인 결정과정을 통해 명령의 순서를 정하고, 상황에 맞춰 동작시키는 일. 그래서 코딩을 배울 때, 특정한 기능을 우선하여 배우는 것보다 컴퓨터의 구조를 이해하고, 논리력을 키워, 문제 해결이 가능한 기본기를 다지도록.
length 와 length() + size() length : 배열의 길이 ex) int[], String[], array[] length() : 문자열의 길이 + size() : 컬렉션 타입의 길이
상속과 구성 상속(Inheritance) - is A 구조 - 일반적인 개념과 구체적인 개념과의 관계 - 상위 클래스 : 일반적인 개념 클래스(ex. 포유류) - 하위 클래스 : 구체적인 개념 클래스(ex. 사람, 원숭이, 고래...) - 단순히 코드를 재사용하는 목적으로 사용하지 않음. - 일반적인 클래스가 있고, 유사한 클래스를 만드는데, 기존의 클래스의 기능을 가져다가 좀 더 확장된 기능을 만들 때 상속을 사용. - 다중 상속이 불가 - 상위 클래스는 하위 클래스보다 일반적인 개념과 기능을 가짐. - 하위 클래스는 상위 클래스보다 구체적인 개념과 기능을 가짐. class Apple extends Fruit final : (클래스 앞에 붙을 경우) 상속 불가 클래스. (메소드 앞에 붙을 경우) 오버라이드 할 수 ..