1교시
App.java
반복되는 코드 메서드로 분리하기
2교시
스태틱 변수는 기본 값 0으로 초기화 된다.
로컬 변수는 자동초기화 없음 꼭 값을 줘야함
package bitcamp.myapp;
public class Test {
static int result; // 스태틱 변수는 기본 값 0으로 초기화 된다. 로컬 변수는 자동초기화 없음 꼭 값을 줘야함
public static void main(String[] args) {
// 2 * 3 + 7 - 2 / 2 = ?
// => 연산자 우선 순위를 고려하지 않고 앞에서부터 뒤로 순차적으로 계산한다.
init(2);
multiple(3);
plus(7);
minus(2);
divide(2);
System.out.println(result);
}
static void init(int a) {
result = a;
}
static void plus(int a) {
result += a;
}
static void minus(int a) {
result -= a;
}
static void multiple(int a) {
result *= a;
}
static void divide(int a) {
result /= a;
}
}
*메서드 명과 클래스 명
메서드 명 | 동사형태: print(), copy() 동사구:printMember(), addMember() 전치사구: toString(), fromJson() 명사/명사구: name(), email() |
클래스 명 | 명사: Integer, String, Math, System 명사구: ClassLoader,IllegalAccessError 형용사구: AutoCloserable |
3교시
클래스 파일 따로 만들고
// Calculator.메서드
*클래스 접근 범위 -default (package private)
bitcamp/
myapp
App.java
Test.java
util
Calculator.java (default=package private // 소속된 패키지 안에서만 접근 가능)
(public: 외부 패키지의 멤버가 접근 가능)
-메서드 default : 같은 클래스 멤버이거나 같은 패키지의 클래스멤버만 접근 가능
-메서드에 public 붙여서 공개
** public : 공개는 필요한 시점에 소극적으로 하기
컴파일러는 import를 바이트코드로 컴파일 하지 않음.
아래 코드만 컴파일하지만.
오후수업 1교시
패키지
[조직].[프로젝트].[역할] |
+조직: 중복되지 않도록 주로 도메인명 사용 도메인명을 거꾸로 사용 예) come.naver / net.daum / org.apache (상위조직이름.하위조직이름) +프로젝트: crm, hrd(인사관리시스템),gmail, blog +역할: controler, service, dao, domain, util, ... |
encapsulation(캡슐화)
복잡한 코드를 메서드 안에 감춘다.
메서드 역할에 따라 분류하여 유지보수를 쉽게한다.
(멤버 입력 관련 메서드 및 변수 분류, 프롬프트 관련 메서드 및 변수 분류)
메모리를 더 사용하고, 속도를 잃지만 개발 비용 절감효과
스태틱 변수와 메서드 에리어
class Test {
static class calculator {
static int result;
static void init(int a){
restult a;
}
static void Plus (int a) {
restult += a;
}
}
}
$java Test
1. Method Area에 Test.class 로딩 됨
2. Method Area에 Test.class 속 main() 호출
3. main()이 실행되는 동안 사용할 로컬변수를 JVM stack의 main()프레임안에 준비(ex) args)
4. calculator.class가 Method Area 에 로딩됨.
5. static result 필드 생성됨
6.calculator.class 속에 init 콜
7. JVM stack에 calculator.init()의 로컬변수가 준비됨
**4. calculator 클래스 로딩시
1. static 변수 생성됨
2. static 블럭 실행
변수
1. static 변수
클래스 로딩 시 생성/ JVM 끝날 때, 클래스 끝나면 사라짐
2. 인스턴스 변수
new 실행할 때 생성 / 클래스 언로딩 할 때, JVM 종료할 때 사라짐
3. 로컬 변수
메서드 호출되면 생성 / 메서드 끝날 때, JVM 종료할 때 사라짐
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 웹프로그래밍' 카테고리의 다른 글
[NC7기-31일차(6월8일)] - 웹프로그래밍 12일차 (0) | 2023.06.08 |
---|---|
[NC7기-30일차(6월7일)] - 웹프로그래밍 11일차 (0) | 2023.06.07 |
[NC7기-28일차(6월2일)] - 웹프로그래밍 9일차 (0) | 2023.06.02 |
[NC7기-27일차(6월1일)] - 웹프로그래밍 8일차 (0) | 2023.06.01 |
[NC7기-26일차(5월31일)] - 웹프로그래밍 7일차 (0) | 2023.05.31 |