* JDK 설치: Amazon Corretto 8
https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html
*IDE 설치 : Eclipse 2020-3
https://www.eclipse.org/downloads/packages/release/2020-03/r/eclipse-ide-enterprise-java-developers-includes-incubating-components
1. 프로그래밍
1) 프로그램: 컴퓨터가 인식할 수 있는 명령어의 집합
2) 프로그래밍 = 코딩 : 프로그램 (컴퓨터가 인식할 수 있는 명령어의 집합)을 작성하는 과정
3) 개발자: 프로그램을 작성하는 사람
2. 자바
1) 자바의 특징
운영체제 독립적 (JVM) - 이식성 높음
사용하기 쉬운 언어 -> 객체지향, 능률적이고 명확한 코드작성 가능
자동 메모리 관리 -> Garbage Collector
네트워크와 분산환경 지원
멀티스레드 지원
동적 로딩 지원
2) JVM (Java Virtual Machine): 자바 실행을 위한 가상 기계, interpreter
3) IDE (Intergrated Development Environment):
통합 개발 환경으로 프로그램 개발과 관련된 모든 작업을 할 수 있는 tool
어플리케이션 구축을 위한 소프트웨어
3. Eclipse 환경에서 자바 프로그래밍 순서
* Project (Java Project)생성 -> Class 생성 (src 파일 하단)
* Class 작성 순서
1) package 선언부: 현재 클래스의 위치를 알려주는 역할
2) import 선언부 : 현재 클래스가 아닌 다른 클래스를 불러올 때
3) class 작성부
1) package
- 한 패키지 내 다수의 클래스 존재 가능.
=> But, 하나의 패키지 내 클래스명 중복 불가
- 모든 클래스가 동일 패키지내 존재시 관리에 불리.
=> 클래스를 용도에 맞게 구분 후 패키지단위로 분류하여 보관할 것
최소 3단계이상의 패키지 생성을 추천
ex) com.javabeginner.studygroup (com. 회사명.프로젝트명/팀명/카테고리명)
2) class
* 메서드
기능, 하나의 기능단위
하나의 클래스 내 여러개 메소드 존재 가능
메소드 호출 : 메소드를 사용하는 것
세미콜론(;): 논리적인 한 문장이 끝날 때 반드시 붙임
메소드명(); 메서드 호출
* main 메서드
프로그램 실행의 시작점을 알림, Java application의 시작점,
프로그램당(패키지당) 1개를 가지고있어야 함
< public static void main(String args[]) { } >
메서드를 호출하려면 메인메서드 내부에서 호출하여야함, 스코프를 벗어나면 메소드는 실행불가
package java.study.I; //패키지 선언 -> 패키지 하단 소스파일에
// jdk상 src파일 하단 java->study->I 트리구조 패키지 생성
import world.programming.to.welcome; // 임포트 선언
public class Study { // 클래스 선언
}
* package - import (다른클래스 내용 불러올 시) -> class 구현 순
* package -> class 구현 (메인메서드)
package java.first.my; //패키지 선언부 : 현재 클래스의 위치를 알려주는 역할
public class HelloWorld { //클래스명 = HelloWorld,
//"{Scope}"-앞단의 영역(예-클래스영역)의 시작과 끝을 의미함
// main method() : 프로그램 실행의 시작점을 알림(Java application의 시작점,프로그램당(패키지당) 1개를 가지고있어야 함
public static void main(String args[]) { // 메인메소드 영역시작 -- 메서드를 호출하려면 메인메서드 내부에서 호출하여야함, 스코프를 벗어나면 메소드는 실행불
// *Method : 사전적 정의-기능, 하나의 기능단위
// 하나의 클래스 내 여러개 메소드 존재 가능
// "메소드 호출":메소드를 사용하는 것
// *세미콜론(;): 논리적인 한 문장이 끝날 때 반드시 붙임
printMyName();
System.out.println("HelloWorld");
// printMyName(); // 구현메서드 호출
} // 메인 메서드 영역 끝
public static void printMyName() { //printMyName메소드 시작지점
System.out.println("안녕하세요. 제 이름은 Lynn 입니다."); // 메서드 생성만 하고 호출을 하지 않았음. 메서드구현 - 호출이 아님
} //printMyName메소드 종료지점
} // HelloWorld클래스영역의 끝
*외부 class import하여 메소드 호출하기
import문: 해당 패키지(현 패키지와다른 패키지)에 있는 클래스를 사용하는 것
1. 호출하려는 메소드가 존재하는 클래스 타입의 객체를 생성 (매개변수 a)
2. a.메서드(); 호출
<class 1>
package java.study.firstday;
public class Iptclss { // 클래스영역 시작점
public void methodA() { //methodA영역 시작
System.out.println("메소드A호출!");
} //methodA영역 끝
public void methodB() { //methodB영역 시작
System.out.println("메소드B호출!");
} //methodB영역 끝
public void methodC() { //methodC영역 시작
System.out.println("메소드C호출!");
} //methodC영역 끝
public void printName() { //printName시작
System.out.println("안녕하세요. 제 이름은 Lynn 입니다.");
} //printName끝
} // 클래스영역 끝
<class 2>
package java.study.secondday;
import java.study.firstday.Iptclss;
// import문: 해당 패키지(현 패키지와다른 패키지)에 있는 iptclss를 사용하겠다
public class Run {
public static void main (String[] args) {
// methodA();
// printName(); => 바로 호출이 불가함.
/* 다른 클래스에 있는 메소드 호출 시
* 1. 호출할 메소드가 존재하는 클래스를 생성(new)
* [ 객체 생성법 ]
* "생성하려고하는 클래스명"+"해당 클래스를 대변할 이름(별명)" = new"생성하려고하는 클래스명();
*
*
*/
Iptclss i = new Iptclss();// 1) i라는 참조변수 타입의 Iptclss객체(import하려는 class타입의 객체) 생성,
i.methodA(); // 2)i 타입. 사용하려는 메소드 호출
i.methodB();
i.methodC();
i.printName();
// "." : 참조연산자, 직접접근 연산자.
}
}
'코딩공부일지 > 수업 review' 카테고리의 다른 글
자바 - 객체지향프로그래밍2( 오버로딩, 객체배열) (0) | 2022.09.14 |
---|---|
자바 - 객체지향 프로그래밍1(클래스, 캡슐화, 변수, 생성자, 메서드) (0) | 2022.09.13 |
[Java] 조건문과 반복문 (0) | 2022.09.07 |
[Java] 연산자 (0) | 2022.09.05 |
[Java] 변수, 형변환, 식별자 (0) | 2022.09.03 |