기초
-
처음 자바를 접하면 자바와 자바스크립트를 비슷한 언어라고 생각할 수도 있다. 그도 그럴 것이 자바와 자바스크립트는 이름이 매우 유사해 자바스크립트가 왠지 자바에서 유래된 언어처럼 보인다. 결론만 말하면 자바와 자바스크립트는 다른 언어이다. 자바와 자바스크립트의 차이는 인도와 인도네시아의 차이라는 비유는 상당히 인상깊었다. 자바(JAVA) 자바는 OOP(Object Orienter Programming) 프로그래밍의 대표적인 언어로 클래스 기반의 객체지향 언어이다. 자바는 이식성이 좋아 운영체제의 종류에 관계없이 대부분의 시스템에서 실행이 가능하다. 왜냐하면 JVM이라는 가상머신을 이용하기 때문이다. ☞ JVM에 대해서 자바는 정적 형지정, 변수 자료형이 반드시 선언되어야하며 컴파일 과정을 거친다.(소스 ..
자바와 자바스크립트의 차이 2018. 8. 22. -
int와 Integer흔히 사용하는 int는 원시 자료형(프로그래밍 언어가 제공하는 자료형)이다.예를 들면 int, char, float, double 등과 같은. Integer는 Wrapper Class이다.Wrapper 클래스란 자바 기본형을 클래스화 시킨 것으로 기본 데이터형을 값이 아닌 객체로 사용할 수 있는 방법을 제공한다.아래 표는 Wrapper Class의 종류이다. 기본 데이터형Wrapper Class byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean void Void 참고로 Wrapper Class의 메소드 중 parse로 시작하는 메소드는 객체형이 아닌 기본..
[Java]int와 Integer의 차이 2018. 8. 22. -
자바의 장점은 OS에 영향을 받지 않는다는 것이 아닐까 생각한다.자바로 작성된 프로그램은 JVM만 있다면 실행이 가능하다. JVM(Java Virtual Machine) JVM이란 Java Virtual Machine(자바 가상 머신)의 약자로 자바와 OS 사이의 중계자 역할을 한다.JVM은 자바 바이트 코드(Byte Code)를 OS에 맞게 해석해준다. 이것이 자바가 OS로부터 독립적이고 JVM에 종속적이게 되는 이유이다.(바이트 코드는 기계어가 아니기 때문에 OS에서 바로 실행되지 않고 JVM이 OS가 바이트 코드를 이해할 수 있도록 해석해 주는 것이다) JVM의 메모리 구조는 아래와 같다. ① Javac(Java compiler) : 프로그램이 실행되면 Javac(Java compiler)는 jav..
[Java]JVM 메모리 구조 2018. 8. 12. -
인스턴스 처음에 객체와 인스턴스에 사이에서 혼란을 겪은 적이 있다. 객체는 인스턴스를 포함하며 객체지향 프로그래밍에서는 비슷한 의미로 사용되지만 두 단어는 분명 차이가 있다. 우선 클래스 타입으로 선언되었을 때를 객체라고 하며, 클래스가 실체화되었을 때 인스턴스라고 말한다. 내 생각에 객체와 인스턴스의 가장 큰 차이는 메모리에 할당 되느냐 안되느냐의 차이인 것 같다. 코드를 보자. 먼저 Cafe 클래스에는 두 변수와 메소드가 정의되어 있다. 1 2 3 4 5 6 7 8 9 10 11 12 package biz.test; public class Cafe{ String drink; // 음료 int pay; // 가격 public void Americano(){ drink = "Americano"; Syst..
[Java]인스턴스(Instance) 2018. 8. 9. -
앞서 객체와 클래스에 대해 정리를 했었다.그 중간에 인스턴스에 대한 언급이 있어서 혹여 설명이 필요한 분들이 있을까해서 다시 공부도 할겸 정리를 해본다.인스턴스를 이해하기 위해서는 먼저 생성자에 대한 개념이 있어야 한다. 생성자(Constructor) 생성자는 객체가 생성될 때 실행되는 메소드이다.자세하게 말하면 클래스가 인스턴스화 될 때 클래스의 멤버 변수(멤버 필드라고도 함)를 초기화해주는 기능을 한다. 모든 클래스는 (반드시)한 개 이상의 생성자를 가진다. 커피에서 원두같은 존재(?)라고도 할 수 있을 것 같다. 이러한 생성자는 우리가 선언을 하지 않을 경우 기본 생성자(Default)로 존재한다. 객체와 클래스에서 예시로 보였던 Cafe 클래스의 기본 생성자를 만들어봤다.※생성자는 클래스와 같은 ..
[Java]생성자(Constructor) 2018. 8. 8. -
객체와 클래스 자바는 객체지향의 언어이다. 객체를 이해하기 위해서는 클래스의 개념도 알아야 한다. 또 인스턴스가 무엇인지도 알아야 한다. 객체는 뭘까. 구글링을 조금만 해봐도 객체에 대한 다양한 정보들을 얻을 수 있다. 저마다 말하는 내용이 비슷해 보이면서 달라서 헷갈릴 수 있지만 결국 그 뜻은 같다. 간단하게 객체는 클래스를 사용하여 만들어진 것이다. 즉, 클래스는 객체를 만들기위한 틀이 된다. 아래 예를 통해 이해를 조금 도와봤다. 사람들이 자주 찾는 카페. 카페에는 다양한 종류의 음료들이 있다. 커피부터 에이드, 쥬스 등등... 이러한 카페를 클래스라고 생각하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package biz.test; public ..
[Java]객체와 클래스 2018. 8. 3. -
예전에 학교에서 프로젝트를 할 때만 해도 인터페이스를 뭔가 진행 과정(?)때문에 사용을 했었던 것 같습니다. 확실히 개념을 짚고 넘어갔어야 하는 부분이었는데 말이죠. 그래서 최대한 이해하기 쉽게 정리를 해봤습니다. 인터페이스(Interface) 인터페이스는 메소드만 선언되어 있고 실제 구현은 되어있지 않다. 우리는 인터페이스를 상속받은 클래스에서 (인터페이스에서)선언된 메소드를 가져다 입맛에 맞게 쓸 수 있다. 이는 팀 단위의 프로젝트를 하게 되면 효율적으로 사용할 수 있는 장점이 있다. 또 자바에서는 다중 상속을 허용하지 않는데 인터페이스는 인터페이스간의 다중 상속이 가능하다. 인터페이스의 메소드는 기능적인 구현이 아닌 선언만 되어있는 추상메소드이기 때문이다. 아래 샘플 코드를 보며 알아보자. PayI..
[Java]인터페이스(Interface) 2018. 7. 20. -
MVC(Model View Controller)MVC 패턴은 모델1과 모델2로 나누어진다.MVC는 사용자에게 보여지는 화면과 데이터를 처리하는 부분이 나누어져 있는 것을 의미한다. Model : 데이터 처리 담당(DB와 연동하는 로직)View : 화면 담당(디자인)Controller : Model과 View사이의 통신 역할 모델1은 웹 브라우저의 요청을 뷰 단에서 받아 Jsp 단독으로 처리하는 방식이다.간단히 말해 웹 브라우저의 요청을 처리하는 비즈니스 로직이 Jsp 페이지에 섞여있는 것이 모델1 구조이다.모델2는 클라이언트의 요청과 처리를 담당하는 뷰 단과 비즈니스 로직을 처리하는 모델이 분리되어 있는 구조이다. 모델1은 구조가 단순하기 때문에 간단한 웹 페이지의 경우 효율적인 사용이 가능하다. 반면에..
MVC 패턴 2018. 5. 8.