목록BackEnd/JAVA (9)
코진남

Java Virtual Machine의 줄임말 이며 Java Byte Code를 OS에 맞게 해석해주는 역할을 합니다. Java Compiler는 .java 파일을 .class Java byte Code로 변환 시켜줍니다. Byte Code는 기계어가 아니기 때문에 OS에서 바로 실행되지 않습니다. 이때 JVM은 OS가 ByteCode를 이해할 수 있도록 해석해줍니다. 하지만 JVM 해석을 거치기 때문에 C언어와 같은 네이티브 언어에비해 속도가 느리지만 JIT(JustI IN Time) 컴파일러를 구현해 이런점을 극복했습니다. Byte Code는 JVM 위에서 OS상관없이 실행됩니다. 이런 점이 Java의 가장 큰 장점이라고 할 수 있습니다. OS에 종속적이지 않고 Java 파일 하나만 만들면 어느 디바..

단일 책임 원칙 (Single Responsibility Principle) 단일 책임의 원칙(SRP, Single Responsibility Principle)은 하나의 모듈은 한 가지 책임을 가져야 한다는 것으로, 이것은 모듈이 변경되는 이유가 한가지여야 함을 의미한다. 여기서 변경의 이유가 한가지라는 것은 해당 모듈이 여러 대상 또는 액터들에 대해 책임을 가져서는 안되고, 오직 하나의 액터에 대해서만 책임을 져야 한다는 것을 의미한다. 만약 어떤 모듈이 여러 액터에 대해 책임을 가지고 있다면 여러 액터들로부터 변경에 대한 요구가 올 수 있으므로, 해당 모듈을 수정해야 하는 이유 역시 여러 개가 될 수 있다. 반면에 어떤 클래스가 단 하나의 책임 만을 갖고 있다면, 특정 액터로부터 변경을 특정할 수 ..

OOP는 현실 세계의 사물 및 개념들을 객체로 보고, 그 객체들을 조립하여 프로그래밍 하는 기법이다. 절차지향적 프로그래밍에서 있었던 코드의 재사용성과 중복제거가 가장 큰 목적으로 만들어진 기법 프로그래밍 실행하고자 하는 절차를 정하고, 이 절차대로 프로그래밍하는 방법 - 목적을 달성하기 위한 일의 흐름에 중점을 둔다. 객체지향 프로그래밍 - 실세상의 물체를 객체로 표현하고, 이들 사이의 관계, 상호 작용을 프로그램으로 나타낸다. - 객체를 추출하고 객체들의 관계를 결정하고 이들의 상호 작용에 필요한 함수(메서드)와 변수(필드)를 설계 및 구현하다. - 객체 지향의 핵심은 연관되어 있는 변수와 메서드를 하나의 그룹으로 묶어서 그룹핑하는 것이다. - 사람의 사고와 가장 비슷하게 프로그래밍을 하기 위해서 생..
자바는 썬 마이크로시스템즈(Sun Microsystems)사에서 제임스 고슬링(James Gosling)이 고안하였다. 자바의 특징 자바는 객체지향 언어이다. 객체지향 프로그래밍(OOP)란 프로그램을 개발에있어 데이터를 추상화시켜 (행위와,상태)를 가진 객체를 만들어 객체와 객체간의 상호작용을 통해 하나의 로직을 구성하는 프로그래밍 기법중 하나이다. 객체를 만들기 위해서는 설계도인 클래스를 작성하고, 객체와 객체를 연결하여 목적에 맞는 프로그램을 만들어낸다. 객체지향 언어의 특징인 캡슐화, 상속성, 다형성, 추상화 를 완벽하게 지원한다. 이식성이 높다. 서로 다른 실행환경을 가진 시스템간에 프로그램을 옮겨 실행할 수 있는 것을 말한다. 자바는 자바 실행환경(JDK,JRE)이 설치되어 있는 모든 운영체제에..

추상클래스란? 추상클래스는 일반 클래스와 크게 다를 것이 없습니다. 단지 추상메서드를 선언하여 상속을 통해서 자손 클래스에서 완성되도록 유도하는 클래스입니다. 그래서 미완성 설계도라고 합니다. 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없습니다. class 앞에 "abstract" 예약어를 사용하여 상속을 통해 구현해야한다는 것을 알려주고 선언부만 작성하는 추상메서드를 선언할 수 있습니다. abstract class 클래스이름 { ... public abstract void 메서드이름(); } 인터페이스란? 추상클래스가 미완성 설계도라면 인터페이스는 기본설계도 라고 할 수 있습니다. 인터페이스도 추상클래스처럼 다른 클래스를 작성하는데 도움을 주는 목적으로 사용하고 클래스와 다르게 다중상속(구현..

클래스란 '객체를 정의해놓은 것' 또는 클래스는 '객체의 설게도 또는 틀' 이라고 할 수 있다. 클래스는 객체를 생성하는데 사용되고, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 클래스는 객체를 생성하는데 사용된다. 겍체의 사전적인 정의는, '실제로 존재하는 것'이다. 우리가 주변에서 볼 수 있는 책상, 의자, 자동차와 같은 사물들이 곧 객체이다. 객체지향이론에서는 사물과 같은 유형적인 것 뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 프로그래밍에서는 객체는 클래스에 정의된 내용되로 메모리에 생성이 된 것을 말한다. 객체의 정의 실제로 존재하는 것, 사물 또는 개념 객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다르..