-
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'1학년 > 자바 공부' 카테고리의 다른 글
2일차_변수,타입,상수,리터럴 (0) 2022.07.05 2일차_입출력 다시정리, 람다 표현식, 스트림API 기초 중 기초 (0) 2022.07.05 1일차_ 자바 기본 출력 코드 (0) 2022.07.04 1일차_자바 개발 환경 구축 (0) 2022.07.04 1일차_ JDK, JVM, JRE, LTS, build,run, build tool, (gradle)_간단정리 (0) 2022.07.04