Java 5

클래스의 재사용

Java에서 클래스를 재사용할 수 있는 방법은 2가지가 있다. 첫째, 상속 둘째, 클래스 간의 포함관계를 맺어주는 것이다. 이 중 포함관계에 대해 정리해보겠다. 포함관계 클래스간의 포함관계를 맺어주는 것으로 여기서 포함관계란 한 클래스 안에 다른 클래스의 타입의 참조 변수를 선언하는 것을 말한다. 먼저 코드를 살펴보겠다. class Cicle{ int x; int y; int r; } class Point{ int x; int y; } class와 Point클래스가 있다. 그런데 이 코드를 class Cicle{ Point center = new Point(); int r; } class Point{ int x; int y; } Circle클래스의 x, y 인스턴스 변수를 Point 클래스의 인스턴스로 ..

Java 2020.09.15

생성자

객체지향 프로그래밍 중 생성자에 대해 정리해보겠다. 생성자란 인스턴스(객체) 변수들을 초기화하기 위해 사용하는 메서드이다. 생성자는 인스턴스(객체)를 생성할 때 호출된다. 생성자의 형태 public class Constructor1 { private String name; private int age; private int height; Constructor1(){ name="한"; age=27; height=180; } public static void main(String[] args) { Constructor1 c = new Constructor1(); System.out.println(c.name); //"한" System.out.println(c.age);//27 System.out.printl..

Java 2020.09.15

객체지향 프로그래밍

객체란 동작이나 상태를 갖고 있는 것을 말한다. 예를 들어 자동차라는 객체는 속력과 기어의 상태를 갖고 있으면서, 속력과 기어를 바꿀 수 있는 동작을 가지고 있다. 그리고 이걸 프로그래밍에 접목시키면 프로그래밍에서의 상태를 나타내는 멤버 필드와 동작을 나타내는 메소드를 가지고 있는 것을 객체라고 한다. 또는 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모레이 생성된것을 뜻한다. 객체지향 프로그래밍(OOP) (1) 실제 세계의 모든 사건 사고가 사물(객체) 간의 상호작용으로 이루어지는 것처럼, 프로그래밍에서도 객체들 간의 상호작용을 통해 프로그램을 동작시키는 프로그래밍 기법이다. 예를 들어 사람이라는 객체는 자동차라는 객체를 동작시킬 수 있다. 이로 인해 운전이 가능해진다. 프로그램에서도 사람이라는 ..

Java 2020.09.14

JVM

JVM은 자바를 실행시키기 위한 가상 컴퓨터이다. 자바로 작성된 프로그램은 모두 JVM에서만 실행된다. 그러므로 자바 프로그램이 실행되기 위해서는 JVM이 꼭 필요하다. 위의 사진처럼 Java 프로그램은 JVM을 거치게 된다. 그리고 JVM은 Java로부터 받은 명령을 해당 OS에 맞게 변환하여 전달한다. 하지만 JAVA외에 다른 애플리케이션은 JVM을 거치지 않고 OS로 명령이 바로 전달된다. 또한, Java는 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석된다. 이로 인해 속도가 느리다는 단점을 가지고 있다.(요새는 속도의 격차를 많이 줄였다고 한다.) 그리고 Java애플리케이션은 JVM하고만 상호작용하기 때문에 OS와 하드웨어로부터 독립적이다. JVM이 Java로부터 받은 명령을 해당..

Java 2020.09.13

자바의 특징

기술 스택을 Java로 바꾸게 되었다. 그래서 Java가 어떤 특징을 가지고 있는지 정리해보겠다. 1. 객체지향 언어 현대 개발 언어에서 가장 대중적으로 사용하는 객체지향 프로그래밍 언어이다. 객체지향의 특징인 상속, 캡슐화, 다형성 등이 잘 적용된 순수 객체지향 언어이다. 2. 자동 메모리 관리(가비지 컬렉션) 자바는 자동으로 메모리를 관리해주는 '가바지컬렉터'가 존재한다. 가비지 컬렉터는 프로그래머가 사용하지 않는 메모리를 체크하여 자동으로 반환, 정리해주는 역할을 하고 있다. 하지만 프로그래머의 의도와 다르게 자동으로 메모리를 반환하며 관리해주는 것이 비효율적일 수 있겠지만, 프로그래머가 보다 프로그래밍에 집중할 수 있는 환경을 만들어준다. 3. 운영체제에 독립적이다. 자바는 운영체제나 하드웨어와 ..

Java 2020.09.13