프로그래밍의 기초

Posted by 소나무처럼하마
2017.01.23 09:49 프로그래밍언어/programming JPA


자바에서 객체를 `클래스(class)`라고 하고, 클래스 명을 부여한 후 그 특성과 기능을 정의하여 소프트웨어적인 객체를 만든다. 여기서 클래스의 특성은 `변수`가 되고, 기능은 `메소드()`가 된다.

 

class '클래스명' {   //파일을 저장할 때에는 꼭 클래스명을 파일명으로 해야한다. 멋진 생각이다.


    //변수 선언


    String civilNumber ;  //민번호를 입력받는 변수.


    //메소드 선언


    check() {


        //민번호를 입력받아서 생일을 저장하고, 남녀를 구분하는 기능합니다.


    }   


}
 

바로 위의 코드가 자바에서 말하는 하나의 `객체`가 된다. 메소드는 다른 언어에서 말하는 `함수`입니다.

이렇게 한 번 잘 만들어진 객체는 향후 언제 어느때라도 그대로 쓸 수가 있어서 각각의 객체들을 잘 만들어 놓고 이들을 조합하기만 하면 훌륭한 자바 프로그램이 탄생하게 되는것이죠~

마치 하나의블록을 차곡차곡 쌓는 것 같은 개념이다. 프로그램 설계측면에서 보더라도 완벽한 개념의 언어임에 분명하다.

한 번 만들어진 객체라도 나중에 수정을 할 일이 있을 것인데 그때는 그 객체에만 수정을 가하면 되기 때문에 전체 프로그램에서 다른 부분은 손을 볼 필요가 없어진다. 아주 당연한 것처럼 생각되지만, 자바 이전의 절차지향이라는 개념의 언어들에서는 이 간단한 개념이 적용되지 않았다. 그래서, 비슷한 프로그램을 만들때조차 이전에 만들어진 작업물을 활용하지 못해 포기하고 새로 작성하는 낭비가 되어버린것이다.

그럼 이제 자바에서 객체를 만들었으면 그걸 어떻게 쓸까? 위에서 정의한 객체(클래스)를 발표?말하면 되는데 그 문법절차는 다음과 같다.

위의 클래스명을 CheckNumber라고 예를 들어봅시다. 그러면,

CheckNumber cn = new CheckNumber() ;

라고 해주어야 한다.

'cn'은 사용자가 임의로 지정해 주는 이름이다. 이렇게 해준 후에 이 객체의 변수나 메소드를 사용하게 되는데,

cn.civilNumber = 임의의 값 ;
cn.check() ;

이런 식으로 쓰면 된다. 간단하게나마 이것을 객체지향 방식이라고 한다.

자바에서 가장 기억해야 할 것은 바로 `자바는 전부 객체`라는 겁니다. 물론 문법도 있고 크게 볼 때 프로그래밍의 흐름이라는 것도 있습니다. 하지만 모든 것을 객체로 처리하는 특성상 C나 여타 다른 절차지향 컴파일러와는 프로그램 작성 방식이 다릅니다.

이점이 초보 프로그래머는 물론 이전에 C나 다른 절차지향 컴파일러를 공부하신 분들이 가장 개념 잡기 어려운 점일 수도 있습니다. 그나마 C언어를 공부하신 분들은 입출력, 구조체 부분을 제외한 나머지 문법부분이 같기 때문에 좀 수월할 수도 있고, 특히 C++까지 공부하신 분들은 보다 더 쉽게 자바의 객체지향을 이해할 수 있겠습니다.

객체지향이 무엇인지만 이해할 수 있으면 자바를 알고 있다고 해도 되므로 여기에 자바에서 객체지향이라는 개념으로 프로그래밍하는 방법을 소개하죠. 아주 간단한 프로그램인데, 핵심은 바로 객체를 이용한 코딩이라는 겁니다. 이미 자바를 알고 계신 분들이라면 정말 아무것도 아니지만 그 개념이 어렴풋하다든지 `긴가민가`하시는 분들에게는 아래의 코딩이 도움이 될 수도 있을 것입니다.

  1. 이전 댓글 더보기
    • MJ
    • 2017.10.02 16:54
    좋은 정보 감사합니다~
    • 2017.10.15 14:17
    비밀댓글입니다
    • 수비니
    • 2017.10.15 15:53
    좋은정보 감사합니다.~ 초록색 코드부분 형광색 눈아퍼요!ㅠ
    • 이준복
    • 2017.10.15 16:19
    프로그래밍 언젠간 꼭 배워보고 싶네요. 그 언젠가가 금방 오기를^^
  2. html은 그래도 죄곰 할줄 알아도.. 자바 스크립트는 좀처럼 기억이 잘안나네요 ㅋㅋ 한때 이것저것 한다고 애도 많이 썻었는데.. 자주 사용을 안하니..

    까묵어 버렸어요 ㅠㅠ
    • 발품파는 남자
    • 2017.10.19 22:56
    프로그래밍은 Hello 프린트 해보고 접었는데 집에 먼지 쌓인 책을 다시금 꺼내봐야 겠습니다.
    • 서숯
    • 2017.10.20 02:06
    요즘 프로그래밍에 대해서 막 배우고 있는데 앞으로 이런 글들이 저한테 많은 도움이 될 것 같아요!
    • 리뷰어
    • 2017.12.07 18:28
    안그래도 프로그래밍 배워야하는데 도움 되겠네요
    • 이노코
    • 2017.12.07 22:11
    좋은 정보 감사합니다. 블로그 해볼려고 하는데요 좋은 정보 얻어 갑니다. ^^
    • Katoeia
    • 2017.12.14 21:39
    프로그래밍에 새로운걸 알게됐네요
    좋은정보 얻고갑니다!
    • 강석윤
    • 2018.01.16 20:37
    JSP 어려운데....
    • 리눅스초보
    • 2018.01.17 00:19
    리눅스 배운지 4일차 되는 초보라 아직 자바와 C언어는 배우지 못했지만
    나중에 큰 힘이 될 것 같습니다. 감사합니다!
    • 2018.01.17 00:52
    비밀댓글입니다
    • soon
    • 2018.01.26 12:54
    컴퓨터공학을 배우는 학생으로 반가운 글이네요 ^^
    깔끔하니 좋아요~~
    • 찡이
    • 2018.01.26 12:56
    저는 전공하려다 어려워서 포기했는데 ㅋㅋ 다시 보니까 조금은 알꺼같아요 :)
    • 까만곰탱이
    • 2018.01.26 14:24
    좋은 정보 감사합니다.^^
    • 애간장
    • 2018.01.26 15:10
    어우 프로그래밍! 게임 한 번 만들어보려고 시도했는데 잘 안 되더라고요... 너무 어려워.... ㅠㅠ 기초를 알려주셔서 감사합니다. 나중에 프로그램 만들때 참고하겠습니다 ㅠㅠ
    • mooel777
    • 2018.01.26 17:49
    프로그래밍 배워보고는 싶은데 엄두가 안나서....
    • HanLok
    • 2018.02.18 02:12
    좋은 정보 감사합니다! 평소에 프로그래밍에 관심이 많은데 좋은 정보 접할 수 있게 되어 좋은거같습니다.
    • 익명
    • 2018.02.18 04:46
    독학하려고 자료를 알아보고 있는데, 당최 영 알아먹기 힘든것...ㅠㅠ 그래도 이렇게 친절하게 알려주시니 좀 이해가 가네요. 감사합니당ㅎㅎ
이 댓글을 비밀 댓글로