요즘 OOP 공부를 하다보니...

익명 사용자의 이미지

갑자기 예전에 손놓았던 JAVA를 작업때문에...
보다보니 그냥 OOP기본 개념부터 다시 보자는 생각에 책을 보고있는데..
갑자기 혼동이 와서리 질문 하나 하려고 합니다.

객체지향 프로그램에서 Class들을 정의하고 Method들을 정의 합니다.
그리고 각각의 이벤트 핸들러들이 등록이 되지요..

그런데 갑자기 궁금점..
C에서는 List를 만들어 놓고 전역으로 선언해서
같이 공유해서 사용합니다.
그런데 JAVA에서 불현듯이 그런 전역을 본거 같지가 아나서요..
즉 각각의 Class에 메서드들을 실행시키는데 실제 공통된 데이터들은
어디에다가 가지고 있는지 모르겠더군요..

어떤 데이타에 대해 전체 리스트를 가지고 싶은데..
재가 지금 생각하면 Class를 상속 받으면서 이 리스트에 관련된 리스트를
상속받아서 이벤트 일어날때마다 저장이 되어 계속 메모리에 남아있는게
아닌가 생각이 드는데 맞는지 모르겠습니다.

즉 그렇다면 각각의 기능을 하는 Class들이 package로 묶이면서 거의
전역화 된다는 의미인지..
정말 OOP는 나같은 시퀀셜한 프로그램만 만지는 사람은 너무어렵네여..
암튼 OOP는 기존의 구식(?) 프로그램법을 통째로 갈아 업는거 같아서 별
로 맘에 안드네여 ㅎㅎㅎㅎ

암튼 지금 질문도 허접하지만...
혹시 아시는분은 답변 주시면 감사드리겠습니다..

익명 사용자의 이미지

질문이 무엇인지 이해하기가 좀 어렵네요^^;;
머 간단하게 OOP에서는 전역을 어떻게 사용하나? 머 그런거 같은데요(이
게 맞는지^^;;;)
이게 맞다면 아쉽게두 OOP는 전역변수라는 개념이 없습니다 그냥 그거 비
스무래하게 static을 사용합니다.
이것은 메모리 영역의 한부분을 잡아서 그부분을 같은 종류의 객체들이 접
근을 해서 사용합니다. 머 전역이랑 거의 똑같은 기능을 합니다.
static으로 정의한것은 객체를생성하지 않아도 자동적으로 메모리영역에
선언이 됩니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.