클래스(Class)
객체지향 프로그래밍(OOP)에서 클래스는 특정 종류의 객체내에 있는 변수와 메쏘드를 정의하는 일종의 틀, 즉 템플릿이다. 따라서, 객체는 클래스로 규정된 인스턴스로서, 변수 대신 실제값을 가진다.
라고 하는데...데체 뭔소린지....ㅡ..ㅡ;;;; 도무지 알수없는 말...
나같은 사람은 어찌하라는건지원...;;;;ㅋ 그래서 그냥 생각나는데로 내가 이해한대로~~ 정리를 해보쟈~~ㅋ(뭐 어쩌겠어~ㅋ 서울만 가면되는거 아니것엉???응?!ㅋ)
객체 지향(Oop)
1945년 미국 국방성에서 존 폰 노이만(누구야??;;) 박사가 프로그램 내장 방식을 제안한 이후로 모든 컴퓨터는 프로그램을 메모리에 저장한 후 실행하는 구조가 되었단다
그치만 문제가 이때 메모리 가격이 정말 엄청나게 고가 였다는거다.. 그러니 당연히 프로그래머 사이에서는
좋은 프로그램이란 = 크기가 작은 프로그램 이라는 구조가 생겨버렸고 무조건 크기가 작은 프로그램을 만들면 훌륭한 프로그래머라고 생각 했단다.
그러나 그 후에 메모리 가격이 하락하면서 크기보다는 빠른 속도로 작동하는 프로그램이 좋은 프로그램이다 라고 생각하게 된다 그러면서 생겨난 생각이 "좋은 프로그램 = 작고 빠른 프로그램" 이라고 생각했단다.
그치만 요즘시대엔 메모리가격이 큰 비중을 두지 않기때문에 더이상 "좋은 프로그램 = 작고 빠른 프로그램" 이라는 공식은 의미가 없게 되었다
옛날 처럼 빠른 속도나 크기보다는 유지보수를 할 때 얼마나 쉽게 알아볼 수 있는지, 옛날처럼 1~2명이 아닌 여러사람이 작업을 하다보니 각각의 만들어진 프로그램의 신뢰가 있는지, 또 여럿이 작업을 하다보니 프로그램의 모든 코드를 매번 새로 작성하는 것도 사실상 불가능하게 되어 과거의 코드를 얼마나 재사용 할 수 있는지가 더욱 중요하게 되었다.
바로 이세가지가 객체지향 기법의 "3R" 이다
1.가독성(Readability)
2.재사용성(Reusability)
3.신뢰성(Reliability)
자바와 같은 객체지향 프로그래밍 언어는 객체라는 개념으로 3R을 해결하고 있다.
Java에서는 클래스 라는 단위로 작성 하는데 각 클레스는 멤버 변수와 메소드를 통해서 독릭적으로 작동될 수 있다.
뭐...아직까지도 아리까리한데..??;; 뭐라 정의는 내릴수 없는데...몸은 뭔가 느끼냉..ㅡ..ㅡ;;
일단뭐...계속 공부를 하며 접하면되니까...훗 =___=b
아무튼 3R을 기억해두쟈고~~+__+
클레스
class 클레스 이름 [extends 부모 클래스 이름]{ // 클래스 헤더
//멤버변수 // 클래스 바디
//메소드
//생성자
//메소드
//생성자
}
클래스는 위와 같이 클래스 이름, 상속여부를 표기하는 헤더, 멤버변수, 메소드, 생성자로 구성되는 바디로 이루어진다.
클래스는 변수 와 마찬가지로 사용하려면 메모리에 공간을 할당해 주어야 하는데 이러한 작업을 "생성한다" 라고한다
클래스를 생성하는 방법이다.
ClassA myClass = new ClassA(); 클래스 이름 변수 이름 = new 클래스 이름
이렇게 생성된 클래스를 객체(object) 또는 인스턴스(instance)라고 한다.
하나의 클래스에서 하나의 객체만 생성할 수 있는 것은 아니다, 얼마든지 많은 객체를 생성할 수 있으며, 생성된 각각의 객체는 서로 다른 값을 포함할 수 있다.
* 보통 클래스 이름을 메소드나 변수의 이름과 구분하기위해 대문자로 시작하는 것이 보통이나.. 뭐 꼭 그렇지 않아도됨.. 하지만 대세가 그러하니~~~따라야지뭐~~-0-ㅋ 꼭!!!! 대문자로 시작합시다~~!! 통합된 규칙은 서로를 편하게 한다니까요~~^^ㅋ
에고..주저리 주저리 말이 많구먼......;; 반성합시다..아직도 몸에 와닿지 않는 객체지향....ㅜ ㅅ ㅜ 너무 어렵잖아.......!!!:(
한마디로 위에 주저리주저리 한 내용을 쉽게 말하자면~
클래스는 생성을 하잖아? 생성된 객체가 메소드나 멤버 변수들을 쓰는데 그 멤버 변수나 메소드들을 정의해서 한대 뭉쳐놓은게 클래스라는 말이야~~~!! 너무 간단하게 생각했나???;; 뭐~난 그렇게 이해했는뎅???;;ㅋ
애들한테 설명해보고~~아니라구하면뭐~~ 더배워야지~~ㅎㅎㅎ
클래스는 위와 같이 클래스 이름, 상속여부를 표기하는 헤더, 멤버변수, 메소드, 생성자로 구성되는 바디로 이루어진다.
클래스는 변수 와 마찬가지로 사용하려면 메모리에 공간을 할당해 주어야 하는데 이러한 작업을 "생성한다" 라고한다
클래스를 생성하는 방법이다.
ClassA myClass = new ClassA(); 클래스 이름 변수 이름 = new 클래스 이름
이렇게 생성된 클래스를 객체(object) 또는 인스턴스(instance)라고 한다.
하나의 클래스에서 하나의 객체만 생성할 수 있는 것은 아니다, 얼마든지 많은 객체를 생성할 수 있으며, 생성된 각각의 객체는 서로 다른 값을 포함할 수 있다.
* 보통 클래스 이름을 메소드나 변수의 이름과 구분하기위해 대문자로 시작하는 것이 보통이나.. 뭐 꼭 그렇지 않아도됨.. 하지만 대세가 그러하니~~~따라야지뭐~~-0-ㅋ 꼭!!!! 대문자로 시작합시다~~!! 통합된 규칙은 서로를 편하게 한다니까요~~^^ㅋ
에고..주저리 주저리 말이 많구먼......;; 반성합시다..아직도 몸에 와닿지 않는 객체지향....ㅜ ㅅ ㅜ 너무 어렵잖아.......!!!:(
한마디로 위에 주저리주저리 한 내용을 쉽게 말하자면~
클래스는 생성을 하잖아? 생성된 객체가 메소드나 멤버 변수들을 쓰는데 그 멤버 변수나 메소드들을 정의해서 한대 뭉쳐놓은게 클래스라는 말이야~~~!! 너무 간단하게 생각했나???;; 뭐~난 그렇게 이해했는뎅???;;ㅋ
애들한테 설명해보고~~아니라구하면뭐~~ 더배워야지~~ㅎㅎㅎ
'Programing > Java' 카테고리의 다른 글
Java JDK 설치 및 환경변수 설정 (0) | 2012.04.02 |
---|---|
java 데이터형, 변수 (0) | 2012.03.22 |
java 생성자 (0) | 2012.03.21 |