JAVA/JAVA수업

#9. 객체지향, 클래스, 접근제한자, 생성자, 메소드, 오버로딩

열하나요 2023. 7. 13. 11:01

chap02 ~ chap05

 

 

9-4. 생성자

 

9-5. 메소드

메소드(Method) == 멤버 함수 : 입력을 가지고 어떤 일을 수행한 다음에 결과물을 내놓는다!!!

특정 자료형에서만 사용이 가능한 함수이다!!!!!!!!!!!!!!!!!!!!!

한 번 정의해두고 필요할때마다 언제든 호출할 수 있지만, 호출할 때 인자값은 매개변수의 자료형과 개수가 일치해야한다. 

 

1. 매개변수가 없고 반환값도 없는 메소드

	public void method1() {
		System.out.println("매개변수와 반환값이 둘 다 없는 메소드입니다.");
		
		int sum = 0;
		for(int i = 0; i <= 10; i++) {
			sum += i;
		}
		System.out.println(sum);
	}

 

 

2. 매개변수는 없지만 반환값은 있는 메소드

	public String method2() {
		System.out.println("매개변수는 없지만 반환값은 있는 메소드입니다.");
		return "나를 돌려줄게";
	}

출력은 "매개변수는 없지만 반환값은 있는 메소드입니다." 라는String이다.

return 값을 받고 싶은면 System.out.println(method2()); 를 해야한다.

 

3. 매개변수는 있고 반환값은 없는 메소드

	public void method4(int num1, int num2) {
		System.out.println("매개변수는 있고 반환값은 없는 메소드입니다.");
		System.out.println(num1 + num2);
	}

4. 매개변수도 있고 반환값도 있는 메소드

	public int method5(int num) {
		System.out.println("매개변수도 있고 반환값도 있는 메소드입니다.");
		return num + 5; 
	}

 

반환값이 없는 메소드 : 출력문을 작성하는 편

반환값이 있는 메소드 : 호출하는 부분에서 출력문을 작성

 

 

9-6. 오버로딩

한 클래스 안에 같은 메소드명으로 여러 메소드들을 정의할 수 있는 방법!

매개변수 자료형의 개수, 순서, 종류 다르게 작성해야한다.

	public void test() {
		System.out.println("1번메소드");
		System.out.println("어쩌고저쩌고");
	}
	
	public void test(int num) {
		System.out.println("안녕 나는 인트 num이야");
	}
	
	public void test(String num) {
		System.out.println("안녕 나는 스트링 num이야");
	}
	
	public void test(int num, String str) {
		System.out.println("안녕 나는 인트 num 스트링 num이야");
	}
	
	public void test(String str, int num) {
		System.out.println("안녕 나는 스트링str 인트num이야");
	}
	
	public void test(int a, int b) {
		System.out.println("안녕 나는 인트 두개야~");
	}

위와 같이, 같은 test 메소드지만 매개변수를 달리하여 여러 메소드를 만들 수 있다.

 

 

 

 

 

 

 

 

내가 지금 헷갈리는거

1. nextLine() 이거 하면 println 할때 사용되는거

2. return . 메소드에서와 switch에서의 기능이 다른지 (메소드는 실행된 곳으로 넘어가는데

switch에서는 그 메소드를 빠져나감

 

 

 

 

 

 

 

 

 

※변수 선언 후 초기화 시, 변수가 선언된 스코프{} 안에서 변수를 쓸 수 있음.

초기화가 다른 스코프{}안에 있더라도 변수가 선언된 스코프안에서 변수를 쓴다면 초기화된 값으로 사용가능!

그러나 초기화가 아예 이루어지지 않았다면 사용불가.  (지역변수는 반드시 초기화를 해야한다!!!)

'JAVA > JAVA수업' 카테고리의 다른 글

#11. 상속, 다형성  (0) 2023.07.17
#10. 오버로딩, static, 객체배열, list  (0) 2023.07.14
#8. 테스트 첫번째날/ 과제  (0) 2023.07.12
ex13. 배열  (0) 2023.07.11
ex12. 배열의 얕은복사와 깊은복사  (0) 2023.07.11