java 공부 8강 [클래스제작과 객체 생성]

프로그램|2018. 10. 15. 12:50
















안녕하세요 


지난시간까지 OOP에 대해서 리뷰를 했었는데요. 이번시간에는 클래스 제작과 객체 생성을 하려고 합니다.


아마 이번부터가 제대로된 JAVA프로그래밍의 실질적 내용이지 않을까 싶습니다.


클래스는 JAVA를 할때 꼭필요한 놈인데요. 클래스가 하는일은 인스턴스인 객체를 생성함으로써 프로그램이 만들어지기 때문입니다.


클래서는 클래스 해더(선언)와 클래스멤버로 이루어지고, 클래스 멤버는 멤버변수 (클래스가 가지는 속성 정리), 생성자(constructor-객체 초기화), 그리고 메소드(클래스가 가지는 데이터를 조작,변환)로 이루어집니다.


위에 예제에서 보면, 클래스헤더와 멤버변수, 메소드로 이루어져있습니다. 생성자는 표시를 해도 되고 안해도 되는데요 그 이유는 자동적으로 하나생성을 한것이 숨어 있기 때문이죠.

또 생성자를 여러개를 만들수가 있는데 매개변수(파라미터)를 달리해서 생성자를 여러개 만들고 자기가 원하는 생성자를 불러올수도 있습니다.

1. 클래스의 선언


클래스를 선얼할때에는 한정자를 이용하여 생성



-public - 모든 클래스에서 접근 가능한 한정자 (따로 지정이 없으면 main()쪽에 클래스를 public으로 인식을 합니다.)


-final - 더 이상의서브클래스를 가지지 못하는 한정자


-abstract - 추상클래스 - 객체를 생성할수 없는 한정자(이부분은 다음에 따로 한번다시 설명드리겠습니다.)


2. 객체의 생성


객체를 생성하기 위해서는 객체를 선언하고, 그 이후 생성을 하게 되는데요, 보통 동시에 하나의 문장으로도 선언과동시에 생성을 할수 있습니다.


객체의 선언 : 클래스명 객체변수참조변수;


객체의 생성 : 객체참조변수 = new클래스명;


객체의 선언과 생성을 한번에 : 클래스명 객체참조변수 = new 클래스명();


3. 멤버 변수


멤버변수는 메소드 밖에ㅔ서 선언된 변수입니다. 멤버변수는 크게 객체변수 와 클래스변수, 종단 변수르 나뉩니다.



한정자(public/private)의 차이는 클래스 내에서 멤버변수의 접근의 제한 범위에 따라 다른것으로 public은 항상 접근이 가능합니다.

private는 캡슐화가 적용되어 소속된 클래스 내에서만 사용할수 있습니다.

변수의 타입을 선언하는 static/final 은 객체변수(객체속성변수, 객체참조변수)와 클래스변수, 그리고 종단변수 로 구분되는 구분자입니다.


ㄱ) 객체변수


-객체참조변수 : 생성된 객체를 지정하는 변수

-객체속성변수 : 값을 가지는 변수


ㄴ) 클래스변수


- 클래스변수는 전역변수의 개념을 가지며, 하나의 응용프로그램내에서 하나의 클래스 변수를 공유합니다.


ㄷ) 종단변수


- 변수라고 정의 되어있지만, 변하지 않는 상수값을 가지게 됩니다. 딱한번의 초기화를 하면 , 그이후 값을 변할수 없습니다.(대부분 대문자를 이용)


4. 생성자


생성자는 주로 객체변수를 초기화할 필요가 있을 때 사용하며, 생성자의 이름은 반드시 클래스의 이름과 동일하여야 합니다.


생성자에서도 public과 private 의 한정자를 사용하실수 있으나, 일반적으로는 생성자에서는 private는 사용하지 않습니다.

앞에서 말한것과 생성자를 여러개 를 만들수 있다고 했는데그것은 오버로딩이라는 개념인데요.

같은 이름의 생성자를 매개변수의 타입이나 개수를 다르게 해서 쓸수있는데, 매개변수에 따라 각기 다른 생성자를 찾아서 객체를 생성합니다.


이상입니다 : )


댓글()