티스토리 뷰
728x90
반응형
오늘의 수업내용 요약: Java 메서드 호출원리 및 실습
1. 메소드 선언 및 호출
1. 리턴 없고 입력 없는 메서드 선언 및 호출
// 메서드 선언
public static void a() {
// 메서드 내용
}
// 메서드 호출
a();
2. 리턴 없고 입력 있는 메서드 선언 및 호출
// 메서드 선언: 입력 받을 값은 문자열 1개
Public static void a(String name) {
// 메서드 내용
System.out.println(name + "<-- name 매개변수에 담긴 값");
}
// 메서드 호출
a("홍길동");
2. 메서드 호출 원리
- 메서드명 일치
- 선언된 메서드 이름과 호출할 때의 메서드 이름이 같아야 합니다.
- 예: a() 메서드 선언 시 호출도 a()로 해야 합니다.
- 입력 매개변수 갯수 일치
- 선언된 메서드의 입력 매개변수 갯수와 호출 시 입력 매개변수 갯수가 일치해야 합니다.
- 예: public static void a(String name)는 1개의 매개변수를 받아야 하므로, 호출 시 a("홍길동")처럼 1개의 값을 넘겨야 합니다.
- 매개변수 데이터 타입 일치
- 선언된 메서드의 매개변수 타입과 호출 시 전달하는 매개변수 타입이 일치해야 합니다.
- 예: public static void a(String name)은 String 타입을 받아야 하므로, 호출 시 "홍길동"과 같이 String 타입의 값을 전달해야 합니다.
3. 메서드 오버로딩
같은 클래스 내에서 메서드 이름을 동일하게 하고,
매개변수의 갯수나 타입을 다르게 선언하여 유사한 기능을 제공하는 방법.
public class Example {
// 입력값이 없는 메서드
public static void a() {
System.out.println("입력값 없음");
}
// 입력값이 문자열인 메서드
public static void a(String name) {
System.out.println("입력값: " + name);
}
// 입력값이 정수인 메서드
public static void a(int number) {
System.out.println("입력값: " + number);
}
public static void main(String[] args) {
// 메서드 호출
a();
a("홍길동");
a(123);
}
}
4. 접근 지정자 (Access Modifier)
접근 지정자접근 가능 범위
public | 전체 |
protected | 같은 패키지 |
default | 같은 패키지 (지정자 없을 때) |
private | 같은 클래스 |
메서드 선언 예시)
1). 접근 지정자 (Access Modifiers)
- public: 전체 접근 가능
- protected: 같은 패키지에서 접근 가능
- default: 접근 지정자가 없을 때 사용, 같은 패키지에서 접근 가능
- private: 같은 클래스 내에서만 접근 가능
2). 정적 키워드 (Static Keyword)
- static: 해당 키워드를 사용하면 클래스에 속하게 되며, 객체를 생성하지 않고도 접근할 수 있음
3). 메서드 선언 (Method Declaration)
- 리턴 타입 (Return Data Type): void (리턴이 없음)
- 메서드 이름 (Method Name): userInsert
- 매개변수 (Parameters):
- 첫 번째 매개변수: String name
- 두 번째 매개변수: char gender
- 세 번째 매개변수: int age
package kr.or.ksmart.a;
public class Total {
public static void main(String[] args) {
userInsert("홍길동", '남', 10);
// 첫번째 String data type에 일치하는 값 : 예)"홍길동"
// 두번째 char data type에 일치하는 값 : 예)'남','여'
// 세번째 int data type에 일치하는 값 : 예) 10 20 30
userInsert("idksmart", "pwksmart", "홍길동", '남', 10);
}
// 메서드 선언2
public static void userInsert(String id, String pw, String name, char gender, int age) {
System.out.println(id + "<-- id 매개변수에 담긴 값 userInsert Total.java");
System.out.println(pw + "<-- pw 매개변수에 담긴 값 userInsert Total.java");
System.out.println(name + "<-- name 매개변수에 담긴 값 userInsert Total.java");
System.out.println(gender + "<-- gender 매개변수에 담긴 값 userInsert Total.java");
System.out.println(age + "<-- age 매개변수에 담긴 값 userInsert Total.java");
}
// 메서드 선언1
public static void userInsert(String name, char gender, int age) {
System.out.println(name + "<-- name 매개변수에 담긴 값 userInsert Total.java");
System.out.println(gender + "<-- gender 매개변수에 담긴 값 userInsert Total.java");
System.out.println(age + "<-- age 매개변수에 담긴 값 userInsert Total.java");
}
}
5. 조건문 if
1). 특정값을 비교하는 조건문
코드)
public static void main(String[] args) {
// 메서드 호출 후 실행하세요
genderCheck('남'); // 값테스트 : '남' 또는 '여' 또는 '가'
}
// 메소드 선언
public static void genderCheck(char gender) {
System.out.println("입력받은 성별 : " + gender);
// 조건문 if if(조건식)
// 조건식을 어떻게 작성을 해야 할까?
// 만약에 남이면 : java문법으로 작성을 할 수 있나?
System.out.println((gender == '남') + "<- 조건식1");
System.out.println((gender == '여') + "<- 조건식2");
// 예) if(조건식) if(true) 또는 if(false)
if (gender == '남') {
System.out.println("01 남성 찜질방 입장하세요!");
} else if (gender == '여') {
System.out.println("02 여성 찜질방 입장하세요!");
} else {
System.out.println("03 성별 확인 불가!");
}
}
결과물)
입력받은 성별 : 남
true<- 조건식1
false<- 조건식2
01 남성 찜질방 입장하세요!
2). 특정구간을 비교하는 조건문
코드)
public static void main(String[] args) {
// 메서드 호출 후 실행하세요
// 테스트 입력 : 10 or 30 or 50 or 70
ageCheck(9);
ageCheck(32);
ageCheck(48);
ageCheck(64);
}
public static void ageCheck(int age) {
System.out.println("나이 : " + age);
System.out.println((age <= 18) + "<- 조건식1");
System.out.println((age >= 19 && age <= 39) + "<- 조건식2");
System.out.println((age >= 40 && age <= 64) + "<- 조건식3");
System.out.println((age >= 65) + "<- 조건식4");
if (age <= 18 && age >= 0) {
System.out.println("01 미성년자 등급");
} else if (age >= 19 && age <= 39) {
System.out.println("02 청년 등급");
} else if (age >= 40 && age <= 64) {
System.out.println("03 중장년 등급");
} else if (age >= 65) {
System.out.println("04 노년 등급");
}
System.out.println("---------------------------------------------");
}
결과물)
나이 : 9
true<- 조건식1
false<- 조건식2
false<- 조건식3
false<- 조건식4
01 미성년자 등급
-----------------------------------------------------------------------
나이 : 32
false<- 조건식1
true<- 조건식2
false<- 조건식3
false<- 조건식4
02 청년 등급
-----------------------------------------------------------------------
나이 : 48
false<- 조건식1
false<- 조건식2
true<- 조건식3
false<- 조건식4
03 중장년 등급
-----------------------------------------------------------------------
나이 : 64
false<- 조건식1
false<- 조건식2
true<- 조건식3
false<- 조건식4
03 중장년 등급
-----------------------------------------------------------------------
3). 1)+2) 혼합 조건문
코드)
public static void main(String[] args) {
checkAge('남', 39);
checkAge('여', 55);
checkAge('3', 55);
checkAge('여', -33);
}
public static void checkAge(char gender, int age) {
if (gender == '남') {
if (age >= 0) {
System.out.println("당신은 " + age + "세 " + gender + "자입니다");
if (age <= 19) {
System.out.println("당신은 미성년자 남자입니다");
} else if (age >= 20 && age <= 29) {
System.out.println("당신은 20대 남자입니다");
} else if (age >= 30 && age <= 39) {
System.out.println("당신은 30대 남자입니다");
} else if (age >= 40 && age <= 49) {
System.out.println("당신은 40대 남자입니다");
} else if (age >= 50 && age <= 59) {
System.out.println("당신은 50대 남자입니다");
} else if (age >= 60) {
System.out.println("당신은 노년 남자입니다");
}
} else {
System.out.println("나이를 제대로 입력해주세요");
}
} else if (gender == '여') {
if (age >= 0) {
System.out.println("당신은 " + age + "세 " + gender + "자입니다");
if (age <= 19) {
System.out.println("당신은 미성년자 여자입니다");
} else if (age >= 20 && age <= 29) {
System.out.println("당신은 20대 여자입니다");
} else if (age >= 30 && age <= 39) {
System.out.println("당신은 30대 여자입니다");
} else if (age >= 40 && age <= 49) {
System.out.println("당신은 40대 여자입니다");
} else if (age >= 50 && age <= 59) {
System.out.println("당신은 50대 여자입니다");
} else if (age >= 60) {
System.out.println("당신은 노년 여자입니다");
}
} else {
System.out.println("나이를 제대로 입력해주세요");
}
} else {
System.out.println("성별을 제대로 입력해주세요");
}
System.out.println("-------------------------------------------------------");
}
결과물)
당신은 39세 남자입니다
당신은 30대 남자입니다
-------------------------------------------------------
당신은 55세 여자입니다
당신은 50대 여자입니다
-------------------------------------------------------
성별을 제대로 입력해주세요
-------------------------------------------------------
나이를 제대로 입력해주세요
-------------------------------------------------------
728x90
반응형
'개발자교육' 카테고리의 다른 글
24_06_26 오늘의 수업내용 (0) | 2024.06.26 |
---|---|
24_06_25 오늘의 수업내용 (0) | 2024.06.26 |
24_06_21 오늘의 수업내용 (0) | 2024.06.21 |
2024_06_20 오늘의 수업내용 (0) | 2024.06.20 |
2024_06_19 오늘의 수업내용 (0) | 2024.06.19 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 배열(Array)
- 변수표기법
- JavaScript
- 데이터베이스(mysql)
- cte ( common table expression )
- 함수범위vs블록범위
- resultsetimpl
- 호이스팅(hoisting)
- let-const-var
- 오버로딩vs오버라이딩
- 객체 지향 프로그래맹의 특징(캡슐화|상속|다형성)
- Java
- 조건문
- jdbc
- get한글인코딩
- 데이터변환함수
- 제어흐름함수
- 가변 길이 매개변수와 리턴
- jsp의 주요 태그
- 반복문
- 테이터베이스 설계
- stored program
- 문자열비교메서드
- 참조타입vs기본타입
- javascript자료형
- 클래스의 구성 멤버
- 뷰(view)
- http 프로토콜:get vs post
- 필드 초기화와 사용
- ㅎgroupbyvs윈도우함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함