안녕하세요! 쏘코입니다.

 

이번 포스팅에서는 클래스에 대해서 알아보도록 하겠습니다.

 

목차


    0. 클래스의 존재 이유

    만약 전에 만든 MyOOP 클래스에 

    delimiter, PrintA, PrintB 뿐만 아니라 다른 변수와 메소드가 있다면 엄청 복잡해지겠죠?

    이럴 때는 Print를 위해 필요한 요소들만 따로 뺀 클래스를 만든다면 더 간편해집니다.

     

    Print라는 클래스를 만들고 delimiter 변수와 PrintA, PrintB 메소드를 Print 클래스로 옮깁니다.

    그리고 PrintA와 PrintB의 이름을 각각 A와 B로 바꿉니다.

    이렇게 만들어주면 훨씬 깔끔하게 Print에 필요한 요소들만 분리할 수 있습니다!

    우리가 코드를 보고 이해할 때도 A, B, Delimiter가 서로 연관되어 있다는 것도 쉽게 알 수 있겠죠?!

     

    Before / After

     

    이렇게 연관된 속성을 더 알기 쉽게 해주고, 관리하기 쉽게 해 주는 것이 바로 클래스의 존재 이유입니다.

     


    1. 클래스의 형식

    우리가 앞에서 만든 Print라는 클래스는 delimiter라는 변수와 A, B라는 메소드로 구성되어 있습니다.

    이것들을 멤버라고 부릅니다.

    즉 Print의 멤버는 delimiter, A, B가 되겠죠?!

     

    이클립스는 .java파일의 이름과 같은 이름의 class를 찾아서 그 class의 main 메소드를 실행합니다.

    이 과정을 거쳐서 지금까지 우리가 파일을 실행해 온 것이죠.

    그리고 MyOOP.java를 실행하면 같은 이름의 .class파일이 생성된다는 것을 확인했었죠?

    만약 우리가 Print라는 클래스를 파일 안에 따로 만들게 되면

    MyOOP.java를 실행했을 때 Print라는 클래스를 담은 Print.class파일이 생성됩니다.

    이렇게 class가 파일로서 존재하게 된다는 사실을 기억해 두시면 좋습니다. (Navigator에서 확인 가능합니다!)

     

     

    이 말은 클래스를 아예 쪼갤 수도 있다는 말이 됩니다.

    Print와 같은 이름의 클래스를 하나 생성합니다.

    그리고 MyOOP에 있는 Print 클래스를 새로 만든 클래스로 옮깁니다.

     

    Print.java / MyOOP.java

     

    이렇게 기능에 따라 파일을 분산해서 소프트웨어를 만든다면 이것도 정리정돈이라고 볼 수 있겠죠!!

     

    추가로 클래스 분리를 쉽게 할 수 있는 방법을 알려드리도록 하겠습니다!

    쪼개기 전처럼 다시 만들어놓고, Print.java 파일을 지웁니다.

    그리고 class Print를 블록설정 한 후에 Refactor > Move Type to New File을 누르면 창이 하나 뜨는데,

    OK를 눌러주면 자동으로 Print.java로 Print 클래스를 옮겨줍니다.

    엄청 편하죠!!!

     


    이제 클래스가 얼마나 좋은 정리 도구인지 아셨을 것이라고 생각합니다!

    그렇다면 다음 포스팅에서는 지금까지 의식하지 못하고 써왔던 인스턴스와 static에 대해 알아보도록 하겠습니다!

     

    오늘도 읽어주셔서 감사합니다 😃😃

    반응형
    • 네이버 블로그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기