으나님의 잡다한 개발상식
(JAVA) 객체지향언어와 클래스 본문
자바의 클래스를 이해하기 위해서는 먼저 객체지향 언어라는 것을 이해해야 한다.
자바는 객체지향 프로그래밍 언어라고 지칭한다.
객체지향이라는 개념이 나오기 전에는 하나의 작업을 위해 하나의 프로그램을 만들었고, 하나의 프로그램이 여러 작업을 수행하지 못했다고 한다.
예를 들어, 초등학생들의 성적을 입력하고 계산하는 성적 입력 프로그램이 개발되었다고 하자.
그런데 이것은 초등학생용으로밖에 사용할 수가 없었다.
초등학생과 고등학생은 과목 이름도 다르고 수도 다르니 해당 프로그램으로는 고등학생의 성적 계산을 할 수 없는 한계가 있었다.
하지만, 초등학생용 성적 입력 프로그램이나 고등학생용 성적 입력 프로그램이나 성적을 입력하고 계산하는 시스템은 동일했다.
이런 비효율성을 시정하기 위해서 성적을 입력하고 계산하는 프로그램 틀은 동일하나 사용자가 과목 이름도 지정할 수 있고, 과목 수도 지정할 수 있도록 하고 싶었다.
즉, 하나의 틀로써 여러 객체를 아우를 수 있도록 하는 것. 객체지향이라는 개념이 등장했다.
class는 영어로 '분류'를 의미한다. '수학 점수'라는 분류가 있다면 그 안에 포함되어 있는 내 수학점수와 내 친구의 수학점수는 다를 것이다. 즉, 수학점수라는 분류는 클래스, 내 수학점수와 내 친구의 수학점수 각각은 객체가 된다.
클래스는 상태와 행동이 있어야 한다. 상태는 변수, 행동은 메소드이다. 즉 클래스는 변수와 메소드의 집합이다.
변수와 메소드를 통해서 틀로서 작용할 수 있도록 만든 것이 클래스이다.
하지만 모든 클래스에 반드시 변수나 메소드가 있어야 하는 것은 아니다.
'JAVA' 카테고리의 다른 글
(JAVA) 객체란? (0) | 2019.11.23 |
---|---|
(JAVA) print구문 (0) | 2019.11.23 |
(JAVA) method (0) | 2019.11.23 |
(JAVA) 반복문에서 label 사용하기 (0) | 2019.11.22 |
(JAVA) String split으로 쪼개서 2차원 배열로 만들기 (0) | 2019.11.22 |