안드로이드 자바 코틀린 기초 지식/자바 기초지식

자바의 특징과 장단점, 객체지향 언어란??, 클래스와 객체

Everyday Growing Engineer 2022. 11. 30. 16:32
  • Java는 객체지향 언어입니다.
  • 기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다. 
  • 장점 
    • JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다. 
    • GabageCollector를 통한 자동적인 메모리 관리가 가능하다. 
  •  단점 
    • JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다. 
    • 다중 상속이나 타입에 엄격하며, 제약이 많다. 

출처: https://dev-coco.tistory.com/153 [슬기로운 개발생활:티스토리]

 

객체지향 언어란???

  • 객체지향 언어는 프로그램객체 단위로 나누어서 객체를 중심으로 프로그램을 구성하는 언어를 의미한다. 객체를 조립하여 전체 프로그램을 만드는 것이다.
  • 장점 : (1) 재사용성이 높다 (2) 코드 관리가 용이하다
  • 단점 : (1) 개발속도가 느리다. -> 객체 처리에 대한 정확한 이해가 필요. (2) 실행 속도가 느리다

 

클래스와 객체 :

  • 클래스는 객체를 정의해 놓은 것이다. 클래스는 데이터와 함수로 이루어져 있으며 객체는 클래스의 정의된 대로 생성된다. 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
  • 객체 : 클래스의 정의된 내용대로 메모리에 생성된 것을 의미한다. (맴버변수랑 메서드로 이루워져있다.)

클래스 vs 객체

  • 클래스란 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀을 말한다
  • 객체의 또 다른 표현으로는 인스턴스(instance)가 있다.
  • 때문에 클래스로 객체를 만드는 것을 “인스턴스화”라고 한다.

클래스 설계 및 구현

  • 클래스는 필드(상태)와 메소드(동작)로 구성된다.
  • 클래스를 도식화한 것을 “클래스 다이어그램”이라 한다.
  • 클래스 다이어그램 보고 코드를 작성할 줄 알아야 한다.