-
[JAVA 02] 자바 클래스 구조Language/Java 2018. 1. 23. 14:27반응형
부담스럽지 않은 코드를 작성해 봤습니다.
위에서부터 아래로 순서대로 설명을 하도록 하겠습니다.
me
123456789101112131415161718192021package ci.vic; // 패키지 선언import java.lang.*; // 임폴트 구문class A{ // 클래스String name = " CIVIC "; // 멤버변수A(){ // 생성자System.out.println(" 생성자 A() 출력문 ");}void m(){ // 메소드System.out.println(" 메소드 m() 출력문");}public static void main(String[] args){ // 메인 메소드A a = new A();a.m();}}cs 1. 패키지 선언 package
' ci 폴더 ' 내부에 'vic 폴더' 를 만듭니다.
컴파일은 javac -d . A.java 로 하시면 되겠습니다.
패키지는 0~1개가 가능합니다.
2. 임폴트 구문 import
java.lang.* 을 가져와서 적용하겠다고 이해하시면 편합니다.
*은 lang의 모든것을 가져오겠다는 의미입니다.
여러개 만들수 있습니다.
3. 클래스 class
클래스이름은 파일이름과 같게 해주시는고 첫글자는 숫자는 안되고,
대문자로 해주시는 것이 좋습니다.
클래스는 {} (중괄호,블록,바디)를 반드시 열고 닫아 주셔야 합니다.
객체를 만들기 위한 틀
여러개 만들수 있습니다.
4. 멤버변수 attribute
위의 코드의 String name = "CIVIC" 부분으로만 설명을 드리자면,
type(타입) + Attribute(멤버변수)
끝마칠때에는 반드시 구분자( ; ) 를 적어 주셔야 합니다.
이부분은 어디서나 동일합니다.
객체의 '특성'
여러개 만들수 있습니다.
5. 생성자 constructor
생성자는 (일, 기능, 행위, 상태값 등)을 의미 한다고 생각하시면 편하실 겁니다.
클래스와 생성자의 이름이 같아야 합니다.
객체가 '생성'될 때 수행되는 '일(기능)'
여러개 만들수 있습니다.
하지만 파라미터()가 다른 생성자를 오버로딩 해야합니다.
6. 메소드 method
{} (중괄호,블록,바디)를 반드시 열고 닫아 주셔야 합니다.
객체가 '하는 일'(기능)
여러개 만들수 있습니다.
7.메인 main method
메인 메소드가 없이도 컴파일은 되지만, 없다면 실행이 될수 없습니다.
A a = new A(); 부분은 A 클래스를 a 객체로 만들어 준다는 의미를 가지고,
a.m(); 은 a객체 즉 A 클래스의 void m() 을 가져다 사용하겠다(호출)는 의미입니다.
한개가 반드시 있어야 합니다.
1,2,3 번은 위치를 변경할수가 없습니다.
4,5,6 은 클래스 내부에서는 순서가
달라도 컴파일에 지장이 없습니다.
package 를 만들었기에 폴더가 만들어 지는 것을 볼수 있습니다.
컴파일
실행
출력
123456789import ci.vic.A;class AUser{public static void main(String[] args){A a = new A(); // 변수의 선언 = 초기값 선언 , 생성자 호출 , 객체System.out.println(a.str); // 멤버변수 호출a.m(); // 메소드 호출}}cs 아직 교육 받는 입장에서 복습을 위하여 작성하였습니다.
만약에 틀리거나 정확하지 않은 내용이 있다면
언제든지 피드백을 주시면 감사하겠습니다.
즉시 수정하고 반성하며, 더욱더 공부하겠습니다.
감사합니다.
반응형'Language > Java' 카테고리의 다른 글
[JAVA 06] 자바 OOP의 특성 ② 다형성 ( Polymorphysm ) (0) 2018.01.28 [JAVA 05] 자바 OOP의 특성 ① 상속성 (Inheritance) (1) 2018.01.28 [JAVA 04] 자바 OOP의 특성 (0) 2018.01.28 [JAVA 03] 자바 객체 지향 용어 (0) 2018.01.28 [JAVA 01] 자바 공부하기 / 배우기 / JAVA 시작하기 & 설정 (0) 2018.01.22