Java - 자바 프로그래밍 기초

kojam9041·2022년 3월 15일
0

KH정보교육원 - JAVA

목록 보기
3/12

자바 소스코드 기본구조

*자바 소스코드는 아래와 같은 구조를 가지고 있다.
*자바로 프로그래밍 할 때에는 위의 예제와 같은 구조로 작성을 한다.
*클래스들을 묶어주는 패키지를 설정하고, 다른 패키지의 클래스를 참조할 경우 
 import를 해준다.
*class내부에는 멤버변수와 메소드가 들어간다.
-------------------------------------------------------------------------------
Package 패키지명; // 유사한 클래스들을 묶어줄 패키지 선언(폴더와 비슷)

import 다른패키지에있는클래스명; // 외부 클래스 사용 선언

public class 클래스명{
    자료형 변수명; // 멤버변수
    public static void main(String[] args){
          시작될 기능구현 코드;
    }
    public 반환형 메소드명(매개변수){
      
          메소드 기능구현 코드;
    }
}
-------------------------------------------------------------------------------

자바 프로그램의 실행 순서

* 프로그램의 실행 순서는 코드의 위부터 아래로 순차적으로 실행된다.
* 특정한 메소드를 사용하지 않으면 다시 위로 올라가는 경우는 없다.
-------------------------------------------------------------------------------
RunOrder.java

public class RunOrder{
    public static void main(String[] args){
      System.out.println("Hello");
      System.out.println("java");
      System.out.println("Welcome to Java World");
    }
}
-------------------------------------------------------------------------------
*******************************************************************************
Hello
Java
Welcome to Java World
*******************************************************************************
-------------------------------------------------------------------------------
RunOrderErr.java

public class RunOrderErr{
    public static void main(String[] args){
        System.out.println(name);
        String name = "유병승";
    }
}
-------------------------------------------------------------------------------
*******************************************************************************
[오류메세지]
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
name cannot be resolved to a variable
=> System.out.println()의 name이라는 변수를 찾을 수 없어서 발생하는 오류.
*******************************************************************************

자바 프로그램 실행범위

* 실행범위는 코드상에서 중괄호'{}'로 표시한다.
* 메소드, 클래스, 조건문, 반복문 등의 실행범위를 정할때 사용한다.
* 일반적으로는, 해당 중괄호 영역의 소스코드만 사용 가능하다.
-------------------------------------------------------------------------------
RunScope.java
public class RunScope{
    public static void main(String[] args){
        String name = "홍길동";
        System.out.println(name);
        print();
    }
    public void print(){
        System.out.println(name);
    }
}
-------------------------------------------------------------------------------
*******************************************************************************
[오류메세지]
Exception in thread "main" 홍길동
java.lang.Error: Unresolved compilation problem: 
	name cannot be resolved to a variable
=> main()의 실행범위안에 있는 name이라는 변수는 print()에서는 사용할 수 없다.
*******************************************************************************
* 해결방법으로는, 각각의 메소드에 name이라는 변수를 각각 지정해주면 된다.
-------------------------------------------------------------------------------
RunScope.java
public class RunScope{
    public static void main(String[] args){
        String name = "유병승";
        System.out.println(name);
        print();
    }
    public void print(){
        String name = "김자바";
        System.out.println(name);
    }
}
-------------------------------------------------------------------------------
*******************************************************************************
유병승
김자바
*******************************************************************************
* 같은 name이라는 변수여도, 각자의 실행범위에 있는 출력문을 실행하기 때문에 다른 결과가 나온다.

0개의 댓글