Languages/Java

[HUFS/컴퓨터 프로그래밍] #9 문자열과 메소드

성중 2021. 3. 5. 13:46

메소드란? -> 함수와 비슷한 개념이다 (반복 작업, 효율적)

즉, 미리 만들어진 특정한 기능이라고 생각하면 된다.

 

문자열이란? -> 문자의 집합 / Java는 String 클래스로 문자열을 제공

ex) sum, sin, cos 등

 

문자열 메소드 활용)

String 문자열변수;

문자열변수.문자열메소드();

+필드(=속성): 객체의 상태를 나타냄, ‘변수이름.필드’의 형식.

 

사용 예시)

# length(): 문자열의 길이를 구해줌

 

String str = “문자열” -> 문자열 선언

str.length();

 

# charAt(): 문장에서 특정 순서의 문자를 가져옴

 

str.chartAt(i); -> i번째 문자를 가져옴

 

 

# startsWith(), endsWith(): 특정 문자열로 시작 or 끝인지 확인 T/F

 

String str = “IT CookBook”

boolean yn = str.startWith(“A”); -> ‘A’로 시작하는가? ~ False

 

예시)

# indexOf() / lastIndexOf(): 찾으려는 문자열이 (처음/마지막)으로 나오는 위치

-> split하면 IT는 str2[] {IT, CookBook, Java} 각각 str2[0], str2[1], str2[2]

 

활용 예시)

중간 공백을 제외한 모든 공백을 지워보자!

chartAt과 substring활용

equals -> 내용을 비교

== -> 저장 위치와 내용을 비교(완전히 같은 데이터인지)


*Java에서 제공하는 메소드 사용하기

메소드이름();
System.out.printf(“Basic-Java”);

*메소드를 직접 정의하기

매개변수(parameter) -> 메소드에 전달되는 값

void -> 반환 값이 없을 때 사용

return result; -> 메소드의 결과 값을 반환해주는 예약어

그냥 return;만 쓰면 함수 수행을 종료시킴

 

간단한 함수를 사용하는 예시)

switch ~ case로 계산기 함수를 만든 예시)

*지역변수와 전역변수

지역(local)변수: 메소드 안에서만 사용되는 변수

전역(global)변수: 메소드 밖, 프로그램 전체에서 사용되는 변수

추가) 같은 문자로 지역변수, 전역변수가 공존하는 경우

 

전역 변수 -> 인스턴스 변수, 클래스 변수

클래스 변수 앞에서는 static이 붙음!


1. ‘반환 값이 있는’ 메소드

결과값은 메소드의 데이터형을 따라야 한다.

2. ‘반환 값이 없는’ 메소드 -> void() 선언

main메소드도 void형으로 선언했음

 

반환 값 유무에 따른 코드 비교)

*매개변수 전달방법

메소드(매개변수1, 매개변수2)

1. 값의 전달(call by value)

실제 값 자체를 메소드에 넘겨주는 방법

2. 주소의 전달(call by reference)

주소 값(adress)를 메소드에 넘겨주는 방법

 

우선 클래스 객체를 만들어야 한다.

두 방식의 더 확실한 차이는 ppt를 참고!

 

초기의 값의 전달 -> 선언된 값이 전달됨

주소 자체의 전달 -> 선언된 후 주소 안에서 변화된 값이 전달됨