- Today
- Total
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 함수
- 문제해결
- 자바스크립트
- 엘리멘터
- dbeaver
- 오류해결
- 환경세팅
- 티스토리챌린지
- function
- sql
- wordpress
- PROCEDURE
- 오블완
- 클론코딩
- 트러블슈팅
- PLSQL
- 워드프레스
- 오라클
- Hostinger
- 워스프레스
- 프로시저
- JSP
- pl/sql
- spring boot
- 이클립스
- Oracle
- javascript
- iframe
- 배열
Archives
개발 공부중
[TIL] 변수/ return 본문
학습목표 : 참조형 변수와 원시형 변수를 구분할 수 있다.
학습목표2 : return을 활용할 수 있다.
- 보통 한 개의 소스 파일에는 파일명과 똑같은 public 클래스 하나만 정의한다.
- 메소드(동사) 선언하기 : 접근제한자와 static은 생략 가능하다.
(접근 제한자) (static) [리턴타입] [메소드명] [(파라미터)]
- 접근 범위 순서
- private : 자신의 클래스 내에서만 접근 가능
- default : 접근 제한자 명시가 없을 때 기본 값, 동일한 패키지 내에서만 접근 가능
- protected : 파생클래스에서 접근 가능
- public : 접근 제한 없음
- static 변수 (정적 변수)
- 메모리에 고정적으로 할당된다는 의미로 변수 값을 공유하는 목적으로 사용
- 인스턴스화 없이도 호출이 가능해짐
- 보통 public 및 final과 함께 사용
- 메소드 이름 앞이나 변수명 앞에 쓰임
- 데이터 타입은 원시 자료형(primitive type)과 참조 자료형(reference type)으로 구분된다.
- 참조형 변수 : 부르면 주소가 나옴
- 배열, 객체 함수..
- 여러 데이터를 담을 수 있고 heap에 저장
- 변수에는 데이터가 저장된 메모리 상의 주소가 저장됨
- 원시형 변수 : 부르면 값이 나옴
- string, bigint, undefined, symbol, (null)
- number : char, byte, short, int, long, float, double - 정수형, 실수형 - 크기가 다름, 범위 다름, scope 다름.
- boolean - 제어문에서 중요함 -흐름을 다르게 할 때 -분기문(if, switch)
- 호출하면 값이 나옴
- 원시형 변수에는 기본값이 있음 (= 0, null)
- 원시형 변수를 초기화할 때는 대입연산자(=)를 사용한다.
- 하나의 값만 담을 수 있고, 아니면 오버라이트(덮어쓰기)됨
- 변수의 사용목적은 일괄처리에 있음
//변수는 하나의 값만 가질 수 있다 예시문
public class Variable3 {
public static void main(String[] args) {
int i = 1;
System.out.println(i);
i=3;
System.out.println(i);
i= 5;
System.out.println(i);
}
}
//일괄처리 예시문
String carName ="프라이드"; // 변수 바꾸면 전부 바뀜
System.out.println(carName);
System.out.println(carName);
System.out.println(carName);
- 문자열의 비교/ 주소값 비교하기
- equals 는 두개의 문자열이 동일한지 비교하여 결과값을 리턴함
- == 은 두개의 자료형이 동일한 객체인지 판별할 때 사용
public class String1 {
public static void main(String[] args) {
/* String은 2가지로 초기화 가능함 대입연산자와 new를 사용하는 방법이 있음
* s1과 s2의 주소번지는 같니? 참 혹은 거짓 선택하기 <<같음
* s3과 s4의 주소번지가 같니? 참 혹은 거짓 선택하기 << 다름
* 만일 s3이 가리키는 문자열이 s4와 같은지를 비교하려면 어떡하지?
* 주소번지가 가리키는 값을 비교하려면 equals라는 메소드를 활용
* 주소번지를 비교할 수 있는 것은 참조형 타입인 경우만 가능
* 원시형 변수는 주소번지를 비교할 수 없음
*/
String s1 = "안녕";
String s2 = "안녕";
String s3 = new String("안녕");
String s4 = new String("안녕");
System.out.println("s1과 s2 비교 ====> "+ (s1==s2)); //true
System.out.println("s2과 s3 비교 ====> "+ (s2==s3)); //false
System.out.println("s3과 s4 비교 ====> "+ (s3==s4)); //false
System.out.println("------------------------------");
System.out.println("s1과 s2 내용비교 ====> "+ s1.equals(s2)); //true
System.out.println("s2과 s3 내용비교 ====> "+ s2.equals(s3)); //true
System.out.println("s3과 s4 내용비교 ====> "+ s3.equals(s4)); //true
//equals는 내용을 비교하는 메소드
//String 클래스는 new를 사용하지 않고 객체를 생성하면 이미 같은 값이 존재할 때 기존 값을 참조한다.
//완결편 : 참조형 변수는 new를 사용하므로 무조건 새로운 객체가 만들어진다.
}
}
- 리턴타입
//type과 return type이 다를 때 오류 예제
import javax.swing.text.html.HTMLDocument.BlockElement;
public class Return1 {
void m() {
}
int m1() {
return 2;
}
double m2() {
return 2.5;
}
boolean isView1() {
boolean bool = true;
return bool;
}
String getName() {
String name = "이순신";
return name;
}
public static void main(String[] args) {
Return1 r1 = new Return1();
// int x = r1.m(); // m()의 type은 void로 int x에 대입될 수 없어서 오류발생
int y = r1.m1();
// System.out.println(r1.m()); //void타입이라 반환할게 없어서 오류발생
System.out.println(r1.m1());
}
}
public class Method2 {
//void일때와 반환형이 있을 때 출력하는 방법이 다름
double m1(double d) {
return 3.5; // 어떤 double d가 들어와도 3.5만 반환됨
}
void m() {
}
public static void main(String[] args) {
Method2 method2 = new Method2();
//메소드 내부에 출력하는 문장이 없는 경우 외부의 메소드에서
//그 메소드에서 결정된 값을 출력하려면 반환형이 필요함
double result = method2.m1(1.5);
System.out.println(result); // 3.5 출력
}
}
'JAVA' 카테고리의 다른 글
[TIL] 배열 (0) | 2022.12.07 |
---|---|
[TIL] 클래스와 인스턴스 (0) | 2022.12.06 |
VScode 에서 java 프로젝트 생성하기 (0) | 2022.12.01 |
[TIL] 변수선언 / 디버깅 방법 (0) | 2022.11.29 |
JAVA를 위한 첫 설치 (0) | 2022.11.29 |
Comments