Yeon's Frame
  • Intro
  • Project
    • 미소웨더
      • 기획 - 아이디어 및 유스케이스 정리
      • DB 설계 - JPA 활용 중심
  • Study
    • Spring
      • Spring Feature
      • N+1
      • OSIV
      • @Valid
      • Spring Boot Feature
      • Spring 5 Feature
      • JPA vs MyBatis
      • Filter, Interceptor
      • Persistence Context
      • @Transactional
      • @Controlleradvice, @ExceptionHandler
      • Spring Security
      • Dispatcher Servlet
      • @EnableWebMvc
      • Stereo Type
      • AOP
      • JPA Repository
    • Infrastructure
      • Git
      • DNS
      • JWT
      • DevOps
      • Docker
      • Jenkins
      • Cloud Computing
      • MSA
    • Clean Code
      • 깨끗한 코드
      • 의미있는 이름
      • 함수
      • 주석
      • 형식 맞추기
      • 객체와 자료구조
      • 오류 처리
      • 경계
      • 단위테스트
      • 클래스
      • 시스템
  • Basic
    • Java
      • OOP
      • OOL Features
      • Class & Objects
      • Instance & Heap Memory
      • Constructor
      • Reference Type Uses
      • Access Modifier & Hiding
      • This
      • Collaboration
      • Static
      • Inheritance
      • Polimorphism & Casting
      • Abstract Class
      • Interface
      • Object Class
    • Java Coding
      • JVM
      • String, StringBuffer, StringBuilder
      • SOF
      • Blockcing/NonBlocking
      • Enum
      • Static
      • Thread
      • hashCode() | equals()
      • JDK8
      • Stream
      • Optional
      • Lambda & Closure
      • Exception
      • Garbage Collecter
      • Collection
      • Call by Value & Call by Reference
      • Generic
    • Java_Advance
      • Inner Class
      • Lambda Expression
      • Functional Interface
      • OOP vs Lambda Expression
      • Stream
      • Reduce()
      • Exception Handling
      • Custom Exception
      • Error Log
      • IO Stream
      • IO Stream - Serialization
      • File Class
      • Decorator Pattern
      • Thread
    • Data Structure
      • Intro
      • Generic(1)
      • Generic(2) T extends
      • Generic(3) Method
      • Collection Frameworks
      • List
      • Iterator
      • Set
      • Comparable & Comparator
      • Map
  • Practice
    • Algorithm
      • Strategy
        • Primitive, Reference, Generic
        • Number Data Types
        • For-Each
        • Array, Queue, ArrayDeque
        • Array vs ArrayList
Powered by GitBook
On this page
  • 프로그래밍 이란?
  • 자바 프로그래밍
  • 객체 지향 프로그래밍이 무엇인가?
  • 자바로 프로그래밍을 하면 좋은 이유 (객체 지향 프로그래밍의 장점)
  • 자바를 활용한 프로그래밍
  • 용어 정리
  1. Basic
  2. Java

OOP

PreviousJavaNextOOL Features

Last updated 2 years ago

프로그래밍 이란?

  • 프로그래밍: 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일

  • 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가는한 기계어로 만드는 일

  • 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc )

자바 프로그래밍

  • 자바의 역사 : 1991년 제임스 고슬링을 비롯한 선 마이크로 시스템스 연구원들이 처음 개발 가전, 휴대용 장치에 사용되는 소프트웨어 언어로 개발됨. 안정성이 중요

  • 자바 프로그래밍의 특징

    • 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다.

  • 객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다.

  • 프로그램이 안정적이다.

  • 풍부한 기능이 제공되는 오픈 소스이다.

객체 지향 프로그래밍이 무엇인가?

  • 프로그램의 구현을 시간의 흐름순이 아닌 객체간의 관계와 협력을 기반으로 프로그램 하는 것

  • Object oriented programming(OOP) 이라고 함 ( cf. 절차 지향 프로그래밍 proedural programming )

  • 사용 하는 언어 : Java, C++, C#, Python, JavaScript, Ruby 등 다수

자바로 프로그래밍을 하면 좋은 이유 (객체 지향 프로그래밍의 장점)

  • 재사용성

  • 유지보수

  • 코드 관리

  • 신뢰성 높은 프로그램

자바를 활용한 프로그래밍

  • 웹 서버 구현

  • 안드로이드 프로그래밍

  • 게임 프로그래밍

용어 정리

JDK(Java Development Kit) : 자바에서 제공되는 개발용 라이브러리. 계속 버젼이 올라가고 있음
JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경. 8.0까지 무료로 제공 됨
JVM(Java Virtual Machine) : 자바 가상 머신으로 프로그램이 실행되는 환경인 JRE 가 설치되어 있어야 함
Alt text