Chapter 09 문자열과 메소드 01 문자열 02 메소드 03 지역변수와 전역변수 04 메소드의 반환 값과 매개변수 예제 모음 요약 연습문제
이 장에서는 JAVA에서 다루는 문자열과 문자열 메소드에 대해 학습한 뒤, JAVA뿐 아니라 대부분의 프로그래밍 언어에서 중요하게 사용되는 개념인 메소드(함수)에 대해 상세히 알아본다.
Section 01 문자열(1) 문자열 메소드의 개념 TIP : 앞서 언급했듯이 메소드(method) 는 미리 만들어진 특정한 기능을 하며 ‘메소드이름( ) ’의 형식. 다른 언어에서는 메소드를 함수 (function) 또는 멤버 함 수(member function) 라 함. 또한 필드(field) 는 객체의 상태를 나타내며 ‘변수이름.필드’의 형식. 필드는 다른 말로 속성이라 함
Section 01 문자열(2) 문자열의 길이를 알려주는 length( )
Section 01 문자열(3)
Section 01 문자열(4) 문자열의 처음 또는 끝이 특정 문자열인지 확인하는 startsWith( ), endsWith( ) 돌려주는 값은 논리형의 true와 false
Section 01 문자열(5)
Section 01 문자열(6) 특정 문자열의 위치를 찾는 indexOf( ), lastIndexOf( )
Section 01 문자열(7) 문자열을 바꿔주는 replace( ) 일부 문자열을 추출하는 substring( ) 문자열을 분리하는 split( )
Section 01 문자열(8)
Section 01 문자열(9)
Section 01 문자열(10) 대문자·소문자로 전환하는 toUpperCase( ), toLowerCase( )와 공백을 제거하는 trim( )
Section 01 문자열(11)
Section 01 문자열(12) 두 문자열을 비교하는 compareTo( ), 문자열의 포함을 확인하는 contains( )
Section 01 문자열(13) 두 문자열이 같은지 확인하는 ==과 equals( )
Section 01 문자열(14) 3~5행 == : 데이터값, 저장 위치 Equals “ 데이터값
Section 02 메소드(1) 메소드의 개념 어떤 것을 넣으면 무언가를 돌려주는 요술 상자. 메소드는 JAVA 프로그램 자체에서 제공하지만 사용자가 직접 만들어서 사용하기도 함 TIP : 다른 언어에서는 메소드를 함수라 함. 클래스 안에 존재하는 함수를 메소드라고 하는데, JAVA의 함수는 무조건 클래스 안에 존재하기 때문에 결국 모든 함수가 메소드임 JAVA에서 제공하는 메소드 사용 가장 많이 사용해온 메소드 System.out.printf( )
Section 02 메소드(2)
Section 02 메소드(3)
Section 02 메소드(4)
Section 02 메소드(5) 손님 3명이 연속해서 오는 경우 직접 커피를 탈때 [실습 9-10]의 8~28행을 두 번 반복
Section 02 메소드(6)
Section 02 메소드(7)
Section 02 메소드(8)
저자 한마디 메소드의 장점 메소드를 공부하는 것은 다음과 같은 메소드의 장점 때문이다. 지금은 이해하기 조금 어려울 테니 가볍게 훑어보고 이 장을 마친 다음 다시 읽어보기 바란다. •코드의 모듈화 : 메소드를 기능별로 작성하여 필요한 기능만 조합할 수 있다. •코드의 간략화 : 반복되는 문장을 밖으로 빼냄으로써 JAVA 소스코드를 간결하게 만든다. •코드의 재사용성 : 한 번 작성한 메소드를 다시 사용할 수 있다. •코드의 수정 용이 : 프로그램 오류를 수정하기가 쉽다.
Section 02 메소드(9)
Section 02 메소드(10)
Section 02 메소드(11) 메소드의 모양과 활용 메소드는 매개변수(parameter)를 입력받은 후 그 매개변수를 가공 및 처리하여 반환 값을 돌려줌
Section 02 메소드(12)
Section 02 메소드(13) 11행 : 두 정수를 입력받아 두 정수의 합계를 반환하는 plus( ) 메소드
Section 02 메소드(14) 간단하게 표현한 plus( ) 메소드의 호출
Section 02 메소드(15)
Section 02 메소드(16)
Section 03 지역변수와 전역변수(1) 지역변수는 한정된 지역(local)에서만 사용되는 변수, 전역변수는 프로그램 전체(global)에서 사용되는 변수
Section 03 지역변수와 전역변수(2) 지역변수와 전역변수의 공존
저자 한마디 인스턴스 변수, 클래스 변수, 전역변수 전역변수에 해당하는 변수를 JAVA에서는 주로 인스턴스 변수(instance variable) 또는 클래스 변수(class variable)라고 부른다. 아직 클래스에 대해 배우지 않았으니 이를 구분하기 어려울 것이다. 그러므로 이 장에서는 JAVA의 클래스 변수를 다른 프로그래밍 언어와 공통되게 전역변수라고 부를 것이다. 참고로 클래스 변수 앞에는 항상 static 키워드가 붙는데, 지금은 JAVA의 전역변수 앞에 static이 붙는다고만 알아두자.
Section 03 지역변수와 전역변수(3)
Section 04 메소드의 반환 값과 매개변수(1) 메소드 내부에서 어떠한 처리 과정을 거친 뒤에는 값을 돌려주게 되어 있는데 이것을 반환 값이라 하고, 메소드에 전달되는 값은 매개변수 TIP : 반환 값은 return 문에 의해 반환되므로 ‘리턴 값’. 매개변수(parameter)는 영문 그대로 ‘파라미터’ 반환 값 유무에 따른 메소드 구분 반환 값이 있는 메소드
Section 04 메소드의 반환 값과 매개변수(2) 반환 값이 없는 메소드 메소드를 실행한 결과 돌려줄 값이 없는 경우에는 메소드의 데이터형을 void (무치형’) 으로 함
저자 한마디 main( ) 메소드의 반환 값 지금까지 void main ( )으로 메인 메소드도 void형으로 선언했다. main ( ) 메소드의 끝이 프로그램의 끝이기 때문에 return 문을 사용하지 않아도 별 문제가 없었던 것이다.
Section 04 메소드의 반환 값과 매개변수(3)
Section 04 메소드의 반환 값과 매개변수(4) 매개변수 전달 방법 값의 전달(call by value) - 값 자체를 메소드에 넘겨주는 방법
Section 04 메소드의 반환 값과 매개변수(5)
저자 한마디 클래스 객체 만들기 클래스는 뒤에서 배울 테지만 참조의 전달을 위해 간단하게 만드는 방법을 미리 살펴보자. 아래와 같이 만들면 int형처럼 myInt라는 새로운 형식이 생긴다. 그리고 클래스 객체 m을 생성했다. m에는 value라는 인스턴스 변수가 존재하고 이 변수를 m.value로 접근할 수 있다.
Section 04 메소드의 반환 값과 매개변수(6) 주소(또는 참조)의 전달
Section 04 메소드의 반환 값과 매개변수(7)
Section 04 메소드의 반환 값과 매개변수(8)
Section 04 메소드의 반환 값과 매개변수(9)
Section 04 메소드의 반환 값과 매개변수(10) 26행
Section 04 메소드의 반환 값과 매개변수(11) 33행