Back-end

백엔드 공부 로드맵2(22.12)

2022. 12. 15. 11:03
목차
  1. JAVA
  2. JAVA 장단점

JAVA

  • 컴파일링 언어로 한번에 컴파일링 된다.
  • 정적인 데이터 타입 명시가 필요하다.
  • JVM으로 실행되서 OS에 관계없이 동작한다.(운영체제 독립성)

JAVA 장단점

  • 장점
    • 운영체제의 독립적
      1. JVM에서 동작하기 때문에 플랫폼에 종속적이지 않다.
    • 객체지향 언어
      1. 캡슐화,상속, 추상화,다형성 등을 지원하여 객체 지향 프로그래밍이가능핟,
    • 동적로딩을 지원
      • 애플리케이션을 실행될 때 모든 객체악 생성되지 않고, 각 객체가 필요한 시점에 클래스를 동적 로딩해서 생성된다. 또한 유지보수 시 해당 클래스만 수정하면 되기 때문에 전체 애플리케이션을 다시 컴파일할 필요 없다, 따라서 유지보수가 쉽고 빠르다.
  • 단점
    • 비교적느림
      • 한번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 기계어로 번역되고 실행되는 과정을 거치기 때문에 조금 느리다.

OOP(객체 지향 프로그래밍) 특징

 

객체 지향 프로그래밍이란 프로그램 구현에 필요한 객체를 파악하고 객체들 간의 상호작용을 통해 프로그램을 만드는 것 을 말한다.

  • 캡슐화
    • 정보 은닉 : 필요 없는 정보는 외부에서 접근하지 못하도록 제한
    • 높은 응집도, 낮은 결합도로 유연함과 유지보수성 증가
  • 추상화
    • 사물들의 공통적인 특징을 파악해서 하나의 개념(집합)으로 다루는 것
    • 목적과 관련이 없는 부분을 제거하여 필요한 부분만을 표현하기 위한 개념
  • 상속
    • 기존 상위클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와주는 개념
  • 다형성
    • 형태가 같은데 다른 기능을 하는 것을 의미
    • 오버라이딩, 오버로딩

OOP(객체 지향 프로그래밍) SOLID 원칙

  • S : 단일 책임 원칙(Single Responsible Principle)
    • 객체는 단 하나의 책임만을 가져야한다.
    • 어떤 변화에 의해 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다.
  • O : 개방 폐쇄 원칙(Open Closed Principle)
    • 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계되어야 한다.
  • L : 리스코프 치환 원칙
    • 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야한다.
  • I : 인터페이스 분리 원칙
    • 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.
    • 인터페이스가 명확해지고, 대체 가능성이 높아진다.
  • D : 의존관계 역전 원칙 (Dependency Inversion Principle)
    • 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 것이다.
    • 쉽게 이야기하면, 구현 클래스에 의존하지 말고, 인터페이스에 의존하라는 뜻

 

 

'Back-end' 카테고리의 다른 글

Back-end 로드맵  (0) 2022.12.15
백엔드 공부 로드맵(22.12)  (0) 2022.12.13
Back-End 개발자란  (0) 2022.12.13
  1. JAVA
  2. JAVA 장단점
'Back-end' 카테고리의 다른 글
  • Back-end 로드맵
  • 백엔드 공부 로드맵(22.12)
  • Back-End 개발자란
가끔개발
가끔개발
가끔개발
가끔쓰는개발블로그
가끔개발
전체
오늘
어제
  • 분류 전체보기 (75)
    • 오류모음집 (8)
      • Ohouse버그 (6)
    • 포트폴리오 (14)
      • ohouseClone (12)
    • JAVA&Spring (4)
      • Settting (3)
    • Back-end (4)
    • 알고리즘 문제 (20)
      • 이론 (6)
      • DFS&BFS (2)
      • 이진탐색 (1)
      • 다이나믹 프로그래밍 (0)
      • 프로그래머스 (11)
    • 개발 잡동산이 (0)
    • 취업 준비 (19)
      • 실전 JPA (15)
    • 개발 꿀팁 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 기술면접
  • 취준생
  • programing
  • intellj
  • 자바
  • java
  • Spring
  • 취준
  • 면접
  • 개발자
  • 백엔드
  • CS
  • 신입
  • 이것이 코딩 테스트이다
  • 동빈나

최근 댓글

최근 글

hELLO · Designed By 정상우.
가끔개발
백엔드 공부 로드맵2(22.12)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.