ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1일차_자바의기본.클래스, 메소드, 생성자,가상머신,기본구조
    1학년/자바 공부 2022. 7. 5. 00:30

    이것저것 다 참고 하고 있어서 좀... 순서가 뒤죽박죽이다!

     

    자바란 ?

    객체 지향언어란다. 자바는 앞에서 공부했듯이 JVM. 자바 버츄얼 머신을 이용하여 운영체제와는 독립적으로 동작이 가능하다 .

    자바 가상 머신의 구성

    : 을 내가 알아야 할까…싶지만 뭐 일단 적어보기만 해보자…

    자바 인터프리터 / 클래스 로더 / JIT컴파일러 / 가비지 컬렉터 로 구성되어있단다.

    자바 컴파일러에 의해 변환된 자바 바이트 코드를 읽고 해석하는 역할을 하는 것이 자바 인터프리터 언어이다 ! 자바는 동적으로 클래스를 읽어오므로, 프로그램이 실행 중인 런타임에서야 모든 코드가 자바 가상 머신과 연결된다 .

    동적으로 클래스를 로더 해주는 역할이 클래스 로더이다 !

    JIT컴파일러는 자바 인 타임 컴파일러로 프로그램이 실행 중 일때 런타임에서 실제 기계어로 변환해주는 컴파일러다 ! 프로그램 실행 속도가 늦다는 자바의 단점을 보완하기 위해 개발되었다

    가비지 콜렉터는 뭐 이름값 하겠지. 사용하지 않는 메모리를 자동 회수해주기 때문에 개발자가 신경 쓸 일이 없다 .

    자바 기본 구조

    : 한 개 이상의 클래스 (class)로 구성되어있다. 클래스는 한 개 이상의 필드나 메소드로 구성된다.

    • 필드한마디로 객체의 데이터가 저장되는 곳!
    • publice class classname{ //이곳이 필드 int fieldname; }
    • 클래스를 구성하는 구성 요소 중 하나로 클래스 내부 멤버라고 한다.
    • 메소드필드를 읽고 수정하는 역할 + 다른 객체 생성 + 객체 간의 데이터 전달 수단
    • public class classname{ classname(){ } }
    • 객체의 동작에 해당하는 실행 블록이란다. {중괄호} 블럭인데 메소드를 호출하게 되면 중괄호 블록의 모든 코드들이 일괄적으로 실행된다.
    • 생성자객체 생성시 초기화 담당! 
    • public class classname{ void main(){ } }
    • 메소드와 비슷하지만 다른 점은 클래스 이름으로 되어있고 반환 타입이 없다는 것.
    • new 연산자로 호출되는 특별한{중괄호} 라고 한다.

    클래스의 필드와 메소드 생성자 요소를 한 번에 표현 해 보면

    class 클래스 이름 {
    	필드 선언
    	필드 선언
    	...
    	메소드 선언
    	메소드 선언
    }
    
    class test{
    	int field1;
    	String field2;
    	
    	public void method1( ) {
    		System.out.println("자바 프로그래밍");
    	}
    }
    

    이런식이 된 다 이말씀. 한마디로 어…. 필드가 변수 선언 메소드가 함수라고 볼 수 있나 굳이 따지자면 ?

    main()메소드?

    : 자바 프로그램이 제일 먼저 실행하는 메소드.

    하나의 자바 프로그램에는 main()메소드를 가지는 클래스가 반드시 하나는 존재.

    다음과 같이 선언

    public static void main(String[] args){
    	...
    }
    

    왜 인지는 모르겠지만 반드시 public static void로 선언되어야 한답니다.

    그리고 클래스 이름은 반드시 자바 파일 이름이랑 같아야 한답니다.

    세미콜론으로 끝나야 한답니다

    728x90

    댓글

Designed by Tistory.
티스토리 친구하기