☕ 자바 JAVA/☕ 클래스와 함수 Class & Method

[JAVA]클래스와 객체(with 기능, 속성)

뉴이 NUEY 2023. 7. 23. 20:02
반응형

참조 - https://youtu.be/jnhvQr1iDRE

 

클래스는 설계도와 같다

 

풀어서 얘기하자면 하나의 웹사이트를 만든다면 로그인/게시판/관리자 등의 페이지를 만들겠죠.
그럼 로그인/게시판/관리자 page를 관리하기 위한 각각의 .class를 만듭니다.

만들어진 .class는 각 기능을 위한 설계도 와 같습니다.
그 안에서 실제 기능을 위한 변수와 함수들이 모여있으니까요.

위는 .class를 잘 이해하기 위한 비유적인 표현이고 

  • 정의 : 객체를 정의해 놓은 것
  • 용도 : 객체를 생성하는 데 사용

객체 Object
  • Instance.
  • 실제로 존재하는 사물 또는 개념
    (속성과 기능으로 구성)
    • 속성 - 변수.
    • 기능 - 메서드.
Class Speaker {
	// 속성 = 변수
    String maker;	// 제조사
    boolean power;	// 전원
    int bolume;
    
    // 기능 = 메서드
    void poser {power = !power;}
    void bolumeUp() {bolume++;}
	void bolumeDown() {bolume--;}
}

 

처음 개발을 시작할 때 웹사이트 여러페이지의 모든 기능을 한 Class에 담아도 되지 않은가?

생각하는 경우가 있는데 웹사이트의 구성은 적어도

  • 로그인
  • 게시판
  • 관리자

적어도 이런식으로 되어있겠죠.

 

Class의 내용들이 합쳐져 하나의 객체가 됩니다. 사물 또는 개념이죠.

따라서 로그인이라는 하나의 개념을 Class에 표현하려면 각각 하나의 Class를 가져야 합니다.

 

Class를 Java가 인스턴스화 해서 하나의 Instance로 만들어 객체로 만듧니다.


개념의 발전을 보면 좀 더 이해가 쉽습니다.

변수, 매서드 method, 클래스 Class를
완전히 다른 개념으로 인식하기보다
number

number(){ }

number { }
  • 변수에 ( )가 붙으면 매서드
  • {  }만 붙으면 클래스입니다.
  • 따라서 변수 → 매서드 → 클래스 형태로 개념이 확장되어 간 것이겠죠.
  • 패키지는 클래스를 위한 folder와 다름 없구요.
  • project는 그 패키지들을 모아 program으로 만드는 것입니다.

 

int count;

void countAll() {}

Class calculator{ }
  • 이렇게 위 형태에서 형태를 더하면 java coding언어가 됩니다.
Class calculator{ 
	int count;
    
	void countAll() {   }
}
  • 실제로 변수를 함수에서 사용하고
  • 함수는 클래스에 담겨있기 때문에 이러한 형태로 사용합니다.

 

반응형