오늘은 자바 언어의 가장 큰 특징인 객체 지향 프로그래밍(Object-Oriented-Programing)과 jdk 17 설치 방법을 알아보겠습니다.
1. 객체 지향 프로그래밍이란?
Java 언어의 가장 큰 특징은 객체 지향 프로그래밍(OOP)이란 객체의 관점에서 프로그래밍을 하는 것을 의미합니다. 객체(Object)는 사람이 정의한 것은 모두 객체입니다. 단, 사랑과 같이 추상적인 것은 객체가 될 수 없습니다.
OOP는 객체들의 유기적인 관계를 통해 프로세스가 진행됩니다. 즉, 모든 구성 요소들을 객체로 설정하고, 객체들을 유기적으로 연결하여 프로그래밍을 합니다.
객체 지향 언어의 반대되는 개념은 절차 지향 프로그래밍인데, 프로세스가 함수 단위로 순서대로 진행되는 것을 말합니다.
절차 지향 언어의 대표적인 예로는 C언어가 있습니다.
2. 객체 지향 프로그래밍의 특징 4가지
2-1 추상화(Abstraction)
- 추상화는 클래스들의 공통적인 요소를 뽑아서 상위 클래스를 만들어 내는 것입니다.
- 추상화는 중요한 정보만을 표현하고, 불필요한 정보는 숨깁니다.
- 추상화의 특징으로는 다중 상속이 불가능하다는 점과, 추상 클래스에서는 일반 메서드도 같이 사용이 가능하다는 점입니다.
2-2 캡슐화(Encapsulation)
- 캡슐화는 특정 객체의 속성과 기능을 캡슐로 만들어 외부로부터 데이터를 보호하는 것입니다.
- 관련이 있는 변수와 함수를 하나의 클래스로 묶고, 외부에서 쉽게 접근하지 못하도록 은닉하는 것이 핵심입니다.
- 데이터의 흐름이 명확하고, 데이터를 안정적으로 쓸 수 있다는 특징이 있습니다.
2-3 상속(Inheritance)
- 상속은 코드의 중복을 없애기 위해 부모 클래스의 필드와 메서드를 자식 클래스에게 물려주는 것입니다.
- 코드의 확장이 가능하고, 코드의 재사용성을 높일 수 있다는 것이 가장 중요한 특징입니다.
- 단, 접근제어자가 private을 갖는 필드나 메서드는 상속이 불가능하고, 패키지가 다르면 default인 경우도 상속이 불가능합니다.
- 상속은 크게 Is-a관계(상속관계)와 Has-a(연관관계)가 있습니다.
2-4 다형성(Polymorphism)
- 다형성은 하나의 객체가 여러가지 타입을 가질 수 있는 것입니다.
- 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍의 가장 큰 특징입니다.
- 오버라이딩(Overriding)과 오버로딩(Overloading)으로 나눌 수 있습니다.
3. Java 설치
3-1 jdk 17 설치
1. Google에 jdk 17 검색
구글에 jdk 17을 검색하고 아래 Java Downloads를 클릭합니다.
2. x64 installer 설치
jdk 17을 클릭하고 Installer를 설치합니다. jdk가 최신 버전이 나왔지만 17버전을 쓰는 이유는 최신 버전은 안정성 문제가 있고, jdk 17은 LTS(Long Term Support)라는 지원 기간이 긴 버전이기 때문에 이 버전을 사용하는 프로젝트와 서비스가 많아질 가능성이 높습니다.
3-2 Eclipse 설치
1. Google에 Eclipse 검색
2. Download x86_64 클릭하여 설치
Download x86_64를 눌러 Eclipse 설치를 완료합니다. Eclipse는 Java를 편리하게 개발할 수 있는 개발 툴(IDE)입니다.