development/Java

    JAVA 공부 해볼까 (13)

    JAVA 공부 해볼까 (13)

    이전 글에서는 입력매개변수가 기본 자료형이었다. 이번엔 참조 자료형이 입력매개변수로 오는 경우다. 아래 오류가 발생하는 이유는 배열에서 공부했던 내용을 기억한다면 알 수 있다. 기본 자료형 입력매개변수와 참조 자료형 입력매개변수의 차이 배열과 같은 참조 자료형이 입력 매개변수로 넘겨질 때 실제 객체가 전달되는 것이 아니라 객체의 위칫값이 전달된다. 이 때, 전달은 복사의 개념이다. 이는 스택 메모리에 있는 값이 전달되기 때문인데, 기본 자료형은 스택 메모리에 실제 값을 저장하지만 참조 자료형의 실제 값은 힙 메모리에 있고 힙 메모리의 주소가 스택 메모리에 저장된다. 오버로딩된 메서드 메서드 오버로딩을 이해하기 위해서는 메서드 시그니처method signature를 먼저 알아야한다. 메서드 시그니처는 메서..

    JAVA 공부 해볼까 (12)

    JAVA 공부 해볼까 (12)

    메서드 메서드의 형식) 자바 제어자 리턴(반환)타입 메서드명(입력매개변수){ 메서드 내용 } 예시) public static int sum(int a, int b){ // 메서드 내용 } 메서드는 클래스의 기능에 해당하는 요소다. 리턴 타입은 메서드 종료 이후 변환(또는 반환)되는 값의 자료형을 의미한다. 메서드명은 변수명 만드는 규칙과 동일하며, 관례적으로 소문자로 시작한다. 입력매개변수는 메서드를 호출할 때 전달되는 값의 자료형과 값을 저장할 지역 변수명을 정의한다. 메서드의 내용에는 메서드가 수행해야 할 기능을 작성한다. 리턴 타입이 void인 메서드를 제외한 나머지 메서드는 메서드 내용의 마지막에는 'return 리턴값'이 포함돼야 한다. 물론 void일 때도 return을 쓸 수 있다. 이 때 ..

    JAVA 공부 해볼까 (11)

    JAVA 공부 해볼까 (11)

    필드와 지역 변수의 구분 필드는 '클래스에 포함된 변수'로 객체의 속성값을 지정할 수 있다. 필드는 지역 변수와 구분해야 하는데 지역 변수는 '메서드에 포함된 변수'를 말한다. 클래스의 중괄호 안에 선언되면 필드이고, 메서드의 중괄호 안에 선언되면 지역 변수이다. 이 둘의 가장 큰 차이점은 생성되는 메모리 위치다. 필드는 힙 메모리 내부, 지역 변수는 스택 메모리에 생성된다. 스택 메모리에 저장되는 변수는 메서드의 닫힌 중괄호를 만나 메서드가 종료되면 자바 가상 머신이 자동으로 삭제하지만, 힙 메모리는 객체 안에 저장되는 필드는 객체가 사라지지 않는 한 절대로 삭제되지 않는다. 위 예제를 보면 클래스 A에는 필드 m, n과 메서드 work1(), work2()가 있다. 참고로 메서드는 '리턴타입 메서드명..

    JAVA 공부 해볼까 (10)

    클래스의 개념 객체object는 사용할 수 있는 실체를 의미하며 클래스는 객체를 만들기위한 설계도와 같다. 1개의 클래스를 이용해 여러 개의 객체를 만들 수 있다. 자바는 기본 문법 요소로써 클래스를 사용한다. 클래스는 다양한 자료형의 데이터를 묶어 관리할 수 있을 뿐 아니라 데이터를 처리하는 다양한 기능까지 함께 관리하는 문법 요소다. 구조체에서 한 단계 발전한 형태라고 할 수 있다. 참고로 프로그램 문법 요소는 변수, 배열, 구조체, 클래스 순으로 발전해왔다. 절차지향의 개념 객체지향의 개념을 사용하기 전 대부분의 프로그램은 절차지향형으로 구현했다. 절차지향형 프로그래밍PP : Procedural Programming은 순서에 맞춰 단계적으로 실행하도록 명령어를 나열하는 방식이다. 기능 중심 프로그래..

    JAVA 공부 해볼까 (9)

    문자열의 표현과 객체 생성 참조 자료형의 가장 대표적인 형태는 클래스이다. 클래스 중 문자열을 저장하는 게 String 클래스다. 문자열은 반드시 큰따옴표(String a = "문자열")안에 표기해야 한다. String a = "" 와 같이 아무런 문자열이 오지 않아도 상관없다. 하지만, 큰따옴표는 생략 할 수 없다. String 클래스의 객체를 생성하는 데는 크게 2가지 방법이 있다. 첫 번째는 new 키워드를 사용하는 방법으로 생성자의 입력 매개변수로 지정할 문자열을 입력한다. String 참조변수명 = new String("문자열"); 대부분의 클래스가 이 방법으로 객체를 생성한다. 생성자는 아직 배우지 않았지만 클래스명과 동일하면서 뒤에 소괄호가 있는 형태다. 두 번째 방법은 간단히 문자열 리터럴..