Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions 정은/chapter_1.md → 정은/박정은/chapter_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ public class Hellojava {
public static void main(String[] args) {

double dNum1 = 1.2;
float fNum2 = 0.9f;

float fNum2 = 0.9f;
int iNum3 = (int)dNum1 + (int)fNum2;
int iNum4 = (int)(dNum1 + fNum2);
int iNum4 = (int)(dNum1 + fNum2);
System.out.println(iNum3);
System.out.println(iNum4);
}
Expand Down
2 changes: 1 addition & 1 deletion 정은/chapter_2.md → 정은/박정은/chapter_2.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public class Hellojava {
System.out.println(avgScore);
}
}


!= -> 두 개의 항이 다르면 참, 아니면 거짓을 반환환
... 조건식, 반복문 제어할 때 사용
Expand Down
90 changes: 90 additions & 0 deletions 정은/박정은/chapter_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<클래스 정의 방법>
package classpart;

public claee Student {
int StudentID;
String StudentName;
int grade;
String address;
}

변수의 자료형
-기본 자료형=int, long, float, double 등
-참조 자료형=String, Date, Student 등

매서드 추가
public void showStudentInfo( ) {
System.out.println(studentName + "," + address);
}

자바(Java)에서 **메서드(method)**는 어떤 작업(기능)을 수행하는 코드 블록이야.
쉽게 말하면, 어떤 행동을 정의해놓고 필요할 때 그 행동을 호출해서 실행하는 거야.

🔧 자바 메서드란?
-기능 단위로 코드를 묶은 것
-코드의 재사용성 증가
-프로그램의 가독성과 유지보수성 향상

*클래스 이름이 같다고 해도 패키지 이름이 다르면 클래스 전체 이름이 다른 것

this, retuen, new 예약어와 반환형
✅ 자바 키워드/개념 비교
this 현재 인스턴스 자신을 가리킴
new 새 인스턴스 생성
return 메서드 실행 결과 반환 or 중단

*함수의 장점*

클래스(class): 설계도
인스턴스(instance): 설계도로 만든 실제 제품 (객체) + 힙 메모리

생성자 -> public person( ) {}

접근 제어자... private... 정보 은닉

static 변수 -> 인스턴스 공유
데이터 영역 <- 스택 메모리 -> 힙 메모리

<변수 유효 범위>
-지역 변수의 유효 범위=함수 내부 선언(스택)
-멤버 변수의 유효 범위=클래스 맴버 변수로 선언(힙)
-static 변수의 유효 범위=예약어 사용 + 클래스 내부(데이터 영역)


객체 배열, 차원 배열
<배열 복사>
-얕은 복사
-깊은 복사

*ArrayList 클래스

클래스 "상속"(+에서 클래스 생성과 형 변환)
super 예약어는 하위 클래스에서 상위 클래스로 접근할 때 사용한다.

메서드 오버라이딩=다시 정의해서 덮어쓰는 것
@ 에노테이션

*다형성=하나의 코드에서 여러 실행 결과가 나오는 것

-다운 캐스팅(부모 타입으로 저장된 객체를 자식 타입으로 변환하는 것)
-instanceof(객체가 특정 클래스의 인스턴스인지 확인할 때 사용)

✅ 추상 클래스란?
**하나 이상의 추상 메서드(내용이 없는 메서드)**를 포함하고 있는 클래스.
이 클래스는 스스로 객체를 만들 수 없고, 상속받는 자식 클래스가 내용을 완성해야 해.

✅ 템플릿 메서드란?
알고리즘의 뼈대(전체 흐름)는 부모 클래스가 정의하고,
구체적인 일부 단계는 자식 클래스가 구현하게 만드는 패턴이야.

✅ final 예약어란?
한 번 정의하면 더 이상 변경할 수 없도록 고정하는 키워드야.
final은 변수, 메서드, 클래스에 모두 쓸 수 있고, 쓰는 대상에 따라 의미가 달라져.

-디폴트 메서드 (default method)
Java 8부터 인터페이스에서도 구현된 메서드를 가질 수 있게 만든 기능이야.
즉, 인터페이스 안에서 메서드의 기본 구현을 정의할 수 있어!

-정적 메서드 (static method)
인터페이스 이름으로 직접 호출할 수 있는 공용 메서드야.
인스턴스 없이 사용 가능!