본문 바로가기

개발 공부

WIR

  • 객체지향 프로그래밍 이란?

이전에 객체지향 프로그래밍을 정리 한 적이 있다.

객체 지향 프로그래밍이란 무엇일까?

내가 이해한 바로는 코드를 한줄로 쭉 짜게 된다면 분명 중복되는 코드들이 있을것이다 그런 중복을 없애고

수정을 할때도 하나만 수정하여 유지 보수에 유리하게 하기위한 하나의 도구 정도로 이해를 했다.

예를들자면 이런 코드들이다.

class Phone {
    String model;
    String color;
    int price;

    Phone(String model, String color, int price) {
        this.model = model;
        this.color = color;
        this.price = price;
    }
}

public class Main {
    public static void main(String[] args) {
        Phone galaxy = new Phone("Galaxy10", "Black", 100);

        Phone iphone =new Phone("iPhoneX", "Black", 200);

        System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
        System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
    }
}

우리는 Phone클래스를 하나 만들고 객체를 생성 함으로써 모델과 생상 가격을 하나하나 따로 만들어줄 필요성이 없어진것이다.

여기에 색깔을 크기로 변경을 하고싶다고 하면 Phone클래스내에서만 수정을 해주면 된다.(유지보수의 이점)

내가 적은 객체지향을 정리해놓은 블로그 링크이다.

https://kingscoding.tistory.com/17

 

내가 보려고 만든 JAVA객체지향 총정리

JAJA 객체지향 총정리 *class 란? 쉽게말해서 붕어빵 틀이다. 붕어빵이 어떤 속성을 갖는지 어떤 모양을 갖는지는 붕어빵 틀처럼 정해져 있다. *객체(instance)란? 밀가루, 팥, 슈크림등( (넓음) private -

kingscoding.tistory.com

  • JVM이란?

Java Virtual Machine의 약자이고, 자바의 클래스파일을 각 OS에 맞는 기계어로 변환하기 위해서 사용된다.

이것이 자바의 또하나의 장점인데, 이식성이 높다는 것이다.

JVM의 역할을 설명했지만 우리는 자바라는 언어가 어떤식으로 구동을 하는지 전체적인 개발순서를 알 필요가 있다.

자바의 개발 순서는 .java 소스파일 작성 -> 컴파일러를 사용하여 .class 생성 -> JVM으로 실행 이 되는데

여기서 중요한 점은 컴파일러로 만들어진 .class파일은 어느 OS에서도 정상적으로 JVM만 있다면 실행이 가능하다는 점이다.

앞서 설명 했지만 JVM은 .class파일 즉 바이트 코드파일을 각 OS에 맞는 기계어로 반환하는 역할을 한다.