Java 썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어 창시자 제임스 고슬링.
2010년에 오라클이 썬마이크로시스템즈를 인수하면서 Java의 저작권을 소유하고 있다.
객체지향프로그래밍 - 객체지향언어
OOP( Object Oriented Programming) : 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고 이것들을 하나씩 조립 및 연결하여 전체 프로그램을 완성하는 기법을 객체 지향 프로그래밍이라고 한다. 이때 사용되는 언어를 객체 지향 언어라고 한다. 객체 지향 언어의 특징으로 캡슐화, 상속, 다형성이 있다.
캡슐화
외부로부터 객체의 정보를 숨기고 객체의 메소드를 통해서 접근이 가능하게 하는 것. 이러한 정보은닉은 데이터에 직접 접근을 막음으로써 변경을 못하게 하고, 유지보수나 확장시 오류의 범위를 줄일 수 있다.
(예로 Vo를 생각하면 된다. 변수를 private 접근제어자로 선언하고 getter,setter를 사용하여 접근할 수 있는 방법)
상속성
상속은 두 클래스 중 한 클래스가 갖고 있는 속성과 메소드들을 다른 클래스에게 물려 주는 것을 의미한다. 이때 물려 주는 역할을 하는 클래스를 부모 클래스(parent class) 또는 상위 클래스(super class)라고 하며 상속받는 역할을 하는 클래스를 자식 클래스(child class) 또는 하위 클래스(sub class)라고 한다. '상속받는다' 라는 의미는 자식 클래스가 부모 클래스로부터 메소드와 속성을 바로 가져다 쓸 수 있다는 뜻이다.(예로 extends 와 implements가 있다.)
extends와 implements의 차이
다형성
하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미합니다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있습니다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나입니다.(예로 인터페이스, 오버로딩, 오버라이딩, 형변환, 업케스팅? 이 있습니다.)
'Web Programming > JAVA' 카테고리의 다른 글
Java / equals()와 == 차이 / equals()를 사용하는 이유 (0) | 2021.07.29 |
---|---|
일반 for문 반복 횟수 / 향상(개선) for문 / Break; (0) | 2021.07.23 |
로그인,로그아웃 Session & 로그인 버튼 → 로그아웃 버튼 (0) | 2021.06.14 |