대학교에서 진짜 눈뜬 장님 수준으로 씨언어 한번 대충 보고 군 전역 후 살길을 찾아야 하기에 자바 책을 사서 보고 있는데..
객체의 개념 아니 다시말해 a라는 클래스에 b라는 인스턴스 객체는 다른말로
c언어 개념 조금 보태서 함수가 포함된 구조체라는 데이터 형에 변수라고도 볼수 있나요?
개념을 처음에 잡기가 굉장히 힘드네요.....
네. 일단은 말씀하신 것 처럼 C언어의 구조체에 함수가 포함된 데이터 형의 변수라고 생각하셔도 괜찮습니다.
좀 더 정리에서 설명을 드리자면,
클래스라는 것은 변수와 함수로 이루어져있는 구조라고 보시면 됩니다.
클래스에서의 변수와 함수는 다른 말로 각각 멤버 변수와 메소드라고 부르기도 합니다.
보통은 함수라는 명칭 대신 메소드라는 명칭을 사용합니다.
이렇게 클래스의 구조를 정의하는 것을 "클래스를 선언한다" 라고도 합니다.
즉, 클래스는 변수와 메소드로 정의된 구조입니다.
이 클래스를 프로그램 상에서 사용하려고 하면 이 구조대로 메모리에 올려주는 작업이 필요합니다.
클래스가 메모리에 올라가서 프로그램에서 사용할 수 있는 상태를 객체라고 합니다.
이 때 클래스를 이용해 객체를 만들 때 보통 "객체를 생성한다" 혹은 "객체 인스턴스를 생성한다" 라고 합니다.
클래스를 객체로 생성할 때 많은 언어에서는 new 라는 키워드를 사용합니다.
즉, 자바의 경우 다음과 같은 형태로 객체를 생성합니다.
MyClass myClass = new MyClass();
그러면 이제 프로그램 상에서 사용할 수 있는 상태가 되는 것이고,
프로그래밍을 할 때는 다음과 같은 형태로 멤버 변수나 메소드에 접근하게 됩니다.
String name = myClass.name; // 클래스에 선언되어 있는 name이라는 멤버 변수에 접근 myClass.run(); // 클래스에 선언되어 있는 run()이라는 메소드에 접근
즉, 이런 식으로 클래스를 선언하고 객체를 생성하여
멤버 변수나 메소드를 호출하는 과정을 통해 하나씩 프로그래밍을 하게되는 것입니다.
네. 일단은 말씀하신 것 처럼 C언어의 구조체에 함수가 포함된 데이터 형의 변수라고 생각하셔도 괜찮습니다.
좀 더 정리에서 설명을 드리자면,
클래스라는 것은 변수와 함수로 이루어져있는 구조라고 보시면 됩니다.
클래스에서의 변수와 함수는 다른 말로 각각 멤버 변수와 메소드라고 부르기도 합니다.
보통은 함수라는 명칭 대신 메소드라는 명칭을 사용합니다.
이렇게 클래스의 구조를 정의하는 것을 "클래스를 선언한다" 라고도 합니다.
즉, 클래스는 변수와 메소드로 정의된 구조입니다.
이 클래스를 프로그램 상에서 사용하려고 하면 이 구조대로 메모리에 올려주는 작업이 필요합니다.
클래스가 메모리에 올라가서 프로그램에서 사용할 수 있는 상태를 객체라고 합니다.
이 때 클래스를 이용해 객체를 만들 때 보통 "객체를 생성한다" 혹은 "객체 인스턴스를 생성한다" 라고 합니다.
클래스를 객체로 생성할 때 많은 언어에서는 new 라는 키워드를 사용합니다.
즉, 자바의 경우 다음과 같은 형태로 객체를 생성합니다.
그러면 이제 프로그램 상에서 사용할 수 있는 상태가 되는 것이고,
프로그래밍을 할 때는 다음과 같은 형태로 멤버 변수나 메소드에 접근하게 됩니다.
즉, 이런 식으로 클래스를 선언하고 객체를 생성하여
멤버 변수나 메소드를 호출하는 과정을 통해 하나씩 프로그래밍을 하게되는 것입니다.