#0313_자바_프로그래밍_교육_1일차
자바의 중요한 특징 중 하나는 플랫폼 독립적이라는 것이다.
자바의 구동 원리는 아래와 같다.
여기서 JVM을 제공하는 jdk 자체는 OS 의존적이다. 각 운영체제에 맞는 jdk를 설치해야한다.
이렇게 설치된 JVM은 OS에 독립적으로 같은 자바 소스는 모든 OS에서 동일하게 동작하게 된다. 따라서 자바는 플랫폼(OS) 독립적인 특징을 갖게 된다.
* 소스파일 저장 시 컴파일이 동시에 같이 이뤄진다. 신텍스 에러등이 있을 경우 컴파일에 실패하며 저장 또한 되지 않는다.
참고로 자바 클래스 import 시 import 대상은 .java 파일이 아닌 컴파일된 .class 실행파일이다.
import com.XX.XXObject // import XXObject.class
자바 클래스의 구성 요소에는 필드와 메서드가 있다.
메서드는 접근 지정자와 반환 타입, 메서드명을 지정하는 메서드 선언부와 메서드의 동작을 기술하는 구현부로 이뤄져있다.
코드의 재사용성과 객체 지향 프로그래밍 등을 위해 필드에 직접 접근하는 방식보다는 메서드를 통해 필드에 접근하는 것이 좋다.(프로그램 소스에 값이 노출되는 하드코딩도 지양)
this 키워드는 객체 자신의 정보를 저장하며 setter나 메서드 구현 시 로컬 변수와 필드를 구별하기 위해 사용한다.
자바 클래스는 크게 두 가지로 나눌 수 있다.
public static void main(String[] args) {
// TODO Auto-generated method stub
}
UML은 Unified Modeling Language의 약자로 통합(표준) 모델링 언어이다. 이를 이용해 클래스와 그 관계들을 표현한 다이어그램을 그릴 수 있는데 대충 아래와 같다.
<<class>> |
[패키지경로.]클래스명 |
-/+(private/public) 필드 : 필드 타입 |
-/+(private/public) 메서드명 : 반환 타입 |
클래스 간의 관계는 수평적인 관계와 수직적인 관계로 나눌 수 있다.
Fairy fairy = new Fairy(); // 자식 클래스
Book fairy = new Fairy(); // 부모 클래스
생성자(constructor) 는 객체가 생성될 때 마다 구동되는 것을 의미한다. 클래스마다 무조건 하나 이상의 생성자가 존재한다.
변수에 값이 할당되는 초기화는 묵시적 초기화와 명시적 초기화로 나눌 수 있는데
이와 동일하게 생성자도 묵시적 생성자와 명시적 생성자로 나눌 수 있다.
public class A {
public A(){}
}
public class A {
private String field1;
private char field2;
private boolean field3;
public A(String field1, char field2, boolean field3){
this.field1 = field1;
this.field2 = field2;
this.field3 = field3;
}
}
* 개발자가 기본 생성자를 작성하지 않으면 컴파일러는 기본 생성자를 알아서 생성한다. 하지만 명시적 생성자가 한개 이상 있을 경우 개발자가 직접 기본 생성자를 작성해줘야 한다. 기본 생성자나 올바른 생성자가 없으면 컴파일 오류난다.
new 키워드는 객체 생성 키워드이다.
A a = new A();
객체 생성(필드 주입) 방법에는 두 가지가 있다. setter와 생성자이다. 각 방법마다 쓰임새나 사용하는 때가 다른데 예를 들어 설명할 수 있다.
[JAVA] 자바 프로그래밍 교육 3일차 (0) | 2023.03.27 |
---|---|
[JAVA] 자바 프로그래밍 교육 2일차 (0) | 2023.03.27 |
[JAVA] 컬렉션 프레임워크(3) 맵 Map | HashMap, TreeMap, LinkedHashMap (0) | 2022.03.08 |
[JAVA] 컬렉션 프레임워크(2) 집합 Set | HashSet, TreeSet (0) | 2022.03.08 |
[JAVA] 컬렉션 프레임워크(1) 리스트 List | ArrayList, LinkedList, Vector (0) | 2022.03.08 |
댓글 영역