Please Enable JavaScript!
Gon[ Enable JavaScript ]

자바 객체 지향 프로그램, 객체 생성과 사용

자바(JAVA)

자바 객체 지향 프로그램, 객체 생성과 사용

 

자바는 객체 지향 프로그램중 하나 입니다. 흔히 OOP(Object-Oriented Programming) 라고도 하는데 C 처럼 명령어를 통해서 처리하는 것이 아니라 독립된 객체들이 메시지를 주고받고 데이터를 처리할수 있도록 만드는 것이죠. 자바는 대표적인 객체지향 프로그램입니다. 

 

◎ 객체의 생성


객체를 생성한다는 것은 해당 클래스의 구체적인 대상을 만든다는 말이 됩니다. 클래스는 대상의 공통점을 뽑아낸 추상화된 속성과 기능을 뽑아내서 만든 결과물입니다. 이 결과물에서 실제로 행동을 하거나 데어터를 담을 대상을 만드는 것이죠. new 연산자를 이용해서 만든 객체는 메모리에 올라가게 됩니다.

 

Thread th = new Thread();

 

위의 간단한 문장을 예로 들어 보겠습니다. 위 문장은 간단해 보이지만 선언과 인스턴스 생성, 초기화 기능이 들어가 있습니다. Thread th Thread 객체에 대한 참조변수를 선언한 것입니다. new 연산자는 Thread 객체를 메모리에 만듭니다. 그리고 “=” 을 통해서 Thread 의 참조 변수인 th 에 그 주소를 입력하게 됩니다Thread() 는 객체의 초기화를 수행하게 됩니다. 그러니까 생성자 함수가 실행되는 것이죠.

 

◎ 객체의 사용


객체를 사용한다는 것은 객체가 가지고 있는 함수나 속성을 이용한다는 말이 됩니다객체에는 그 나름대로의 고유기능이 있습니다. 아래 샘플 처럼 String 객체에는 아주 다양한 함수와 변수들이 있습니다. 객체의 변수와 함수에 접근할려면 객체 다음에 “.” 를 찍으시면 됩니다.

자바 객체 지향 프로그램, 객체 생성과 사용

 

멤버변수는 참조변수에 “.” 을 찍으면 나타납니다. 위의 예에서는 height, width, x, y 멤버변수 입니다. 객체에 어떤값을 담을 수 있는 그릇이 멤버변수가 됩니다. 멤버함수도 참조변수에 “.” 을 찍고 멤버함수 명을 쓸 수 있습니다. 변수와 차이점은 “()” 가 있다는 것입니다. 괄호 안에는 각 멤버함수가 필요로 하는 것들을 넘겨야 기능을 할 수가 있습니다. 아래 예에서 rec.width = 20 width 라는 멤버변수에 20 을 저장한 것입니다. 그리고 저장한 결과값을 가져오기 위해 getWidth() 멤버함수를 사용했습니다. 당연히 결과 값은 20 이 나오겠죠.

자바 객체 지향 프로그램, 객체 생성과 사용

Posted by 녹두장군

댓글을 달아 주세요

  1. 궁금 2016.02.07 20:30  댓글주소  수정/삭제  댓글쓰기

    궁금한게 있습니다. 객체 생성시 new가 Thread 객체를 메모리에 만드는 기능을 한다고 하셨는데 Thread가 왼쪽에 있는 Thread인가요? 오른쪽에 있는 Thread인가요? 그러니까 제 궁금증은..
    A a = new B(); 이럴때는 어떻게 해석해야할지 잘 모르겠어서요..ㅠㅠ

    • Favicon of https://mainia.tistory.com 녹두장군 2016.02.07 23:22 신고  댓글주소  수정/삭제

      = 을 기준으로 왼쪽 A a 에서 A 는 클래스명이고 a 는 만들어질 메모리의 포인트가 저장되는 변수 입니다. 그러니까 A 라는 클래스의 객체를 a 에 저장하겠다는 의미입니다. 반대로 오른쪽에 있는 new B() 는 B 라는 클래스를 new 연산자로 객체를 만들겠다는 의미입니다. B 클래스를 객체로 만드는 것이죠. 그럼 왜 A 와 B 가 다르냐? 그건 A < B 포함하고 있기 때문입니다.

  2. 궁금 2016.02.09 20:48  댓글주소  수정/삭제  댓글쓰기

    감사합니다. 다형성에 대해서 기능만 알고 있었지 상세한 개념?해석?은 몰랐는데 댓글 읽고 정확히 이해가 됐습니다. 빠른 답변도 감사합니다.

  3. eclf 2017.08.03 10:37  댓글주소  수정/삭제  댓글쓰기

    잘 봤습니다, 참고할게여