IT용어정리

Java 클래스 유형 정리

JK. Kim 2022. 3. 12. 09:52

Java 클래스 유형 정리


Java로 프로그래밍을 하기 위해서는 객체지향이라는 개념을 알아야 합니다.
Java에서의 객체 지향은, 프로그램중에서 '클래스(Class)'라고하는 변수나 메소드(함수)등을 포함한 설계도와 같은 것을 만듭니다.
그리고, 필요에 따라서 그 설계도를 기초로 한 오브젝트(인스턴스)를 만드는 것입니다.
또한 한번 만든 클래스의 기능을 상속한 또 다른 클래스를 만들 수도 있습니다.
이것이 오브젝트 지향의 특징입니다. 여기에서는, Java의 오브젝트 지향을 구성하는 '클래스(Class)'의 종류를 알아봅니다.



1. 인터페이스(interface)


인터페이스는 메소드의 반환값, 메소드명, 인수만을 정의한 클래스입니다.
처리를 위한 기능을 정의하지는 않습니다.
그래서 사용할 때는 정의한 메소드를 처리할 클래스를 별도 작성이 필요합니다.
인터페이서를 통하여 정의(룰 및 규칙)과 실제 처리를 분리하여 구현할 수 있으며,
인터페이스에 맞추어 개발하면 구체적인 내용까지 모르더라도 그 클래스를 정의된 룰에 따라 처리를 구현할 수 있다는 장점이 있습니다.



2. 추상 클래스


추상 클래스는 그 자체로는 인스턴스를 생성할 수 없는 클래스를 말합니다.
추상 클래스에 기술된 내용을 상속한 클래스는 인스턴스를 생성할 수 있습니다.
말하자면, 추상 클래스는 설계도의 설계도와 같습니다.
이것은 유사한 클래스를 대량으로 만들때 유용합니다.
예를 들어, 자동차관련 클래스를 대량으로 만든다고 가정하면,
자동차의 속도, 승차감, 안정성 등의 파라미터를 각 차종별로 각각 만들면 비효율적입니다.
여기서 자동차라고 하는 추상 클래스를 작성해 만든후 이것을 계승한 차1,차2,차3…라고 하는 클래스들을 만들어,
각각 파라미터 값만 정의를 하면 같은 내용(속도,승차감,안정성)의 파라미터를 여러 번 정의하는 번거로움을 줄일 수 있습니다.



3. 래퍼 클래스(wrapper)


래퍼 클래스는 오브젝트 지향에 있어, 다른 클래스나 외부의 프로그램 등,
오브젝트가 아닌 요소를 오브젝트로서 취급하고 싶은 경우에 사용되는 클래스입니다.
'wrapper'는 포장, 포장지라고 하는 의미로, 오브젝트가 아닌 요소(int형의 값등)를
메소드 등 필요한 것과 함께 포함시켜서 오브젝트의 형태로 해 버린다는 의미로 사용되고 있습니다.



4. 내부 클래스


내부 클래스는 이너(inner) 클래스라고도 불리는 클래스 안에 정의되는 클래스입니다.
내부 클래스를 사용하면 각각의 클래스간의 관계를 이해하기 쉽고, 코드가 간결해지는 장점이 있습니다.
그리고 private, public등 액세스 레벨을 지정할 수 있으므로, 클래스의 외부로부터 존재를 숨길 수도 있습니다.
덧붙여 내부 클래스를 가지는 클래스를 외부 클래스라고 부릅니다.



5. 최종 클래스


한 번 만든 클래스를 상속하여 새롭게 기능을 추가한 다른 클래스를 만들 수 있습니다만,
클래스를 final이라고 정의하면 이 클래스를 더이상 상속할 수 없습니다.
이것을 최종 클래스라고합니다.
최종 클래스는 부모 클래스로 선언된 값이 더이상 바뀌지 않게 되므로 부모 클래스의 안정성을 유지 할 수 있습니다.



6. 컬렉션(Collection)

Java를 사용하는데 있어서 편리한 것이 컬렉션입니다.
컬렉션은 많은 데이터를 하나의 유닛으로 정리한 객체입니다.
컬렉션에는 ArrayList나 HashSet 등의 종류가 존재합니다.
ArrayList는 데이터 유형의 데이터를 대량으로 저장할 수 있는 C 언어의 배열에 가까운 객체입니다.
또한 HashSet은 기본적으로 ArrayList와 비슷하지만 데이터가 중복되지 않는 특징을 가진 컬렉션입니다.
데이터를 배열이 아닌 클래스인 컬렉션에 보관하는 것으로, 요소의 수 카운트 반환,지정 요소 존재 등의 정보를 메소드로부터 얻을 수 있는 장점이 있습니다.



7. 클래스 유형 변수

C 언어 등에는 int, char, float 등 숫자, 문자 데이터의 변수가 있습니다.
클래스형 변수란, 클래스를 이용한 변수를 말합니다. Integer, Character, Float등이 해당됩니다.
이 클래스형 변수를 사용하는 것으로, 값의 보관뿐만 아니라,
수치를 문자로, 정수를 소수로 등, 보관 유지하고 있는 값을 자유롭게 조작할 수 있습니다.



'IT용어정리' 카테고리의 다른 글

Java 프로그램 유형 정리  (0) 2022.03.11
Python 정규표현식  (0) 2022.01.07
Framework  (0) 2021.11.17
jQuery  (0) 2021.11.12
초보자 추천 프로그래밍 언어 랭킹 (1/2)  (0) 2021.11.12