diff --git "a/\354\240\225\354\235\200/chapter_1.md" "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_1.md" similarity index 87% rename from "\354\240\225\354\235\200/chapter_1.md" rename to "\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_1.md" index 09b2047..42788f1 100644 --- "a/\354\240\225\354\235\200/chapter_1.md" +++ "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_1.md" @@ -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); } diff --git "a/\354\240\225\354\235\200/chapter_2.md" "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_2.md" similarity index 99% rename from "\354\240\225\354\235\200/chapter_2.md" rename to "\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_2.md" index 8435ba6..19f4f06 100644 --- "a/\354\240\225\354\235\200/chapter_2.md" +++ "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_2.md" @@ -16,7 +16,7 @@ public class Hellojava { System.out.println(avgScore); } } - + != -> 두 개의 항이 다르면 참, 아니면 거짓을 반환환 ... 조건식, 반복문 제어할 때 사용 diff --git "a/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_3.md" "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_3.md" new file mode 100644 index 0000000..f11e0dd --- /dev/null +++ "b/\354\240\225\354\235\200/\353\260\225\354\240\225\354\235\200/chapter_3.md" @@ -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) +인터페이스 이름으로 직접 호출할 수 있는 공용 메서드야. +인스턴스 없이 사용 가능! \ No newline at end of file