728x90 반응형 프로그래밍 언어115 Java) 10/22 - 객체가 메모리에 올라가는 순서 메모리 영역 메모리 영역은 JVM stack과 heap으로 구분된다 객체 생성시 메모리에 올라가는 순서 객체를 담는 변수가 Stack 영역에 올라감 Heap 영역에 객체의 필드에 묵시적 초기화 된 값이 올라감 Heap영역 필드에 각각 라벨링 (주소 값 할당) Stack의 변수가 Heap의 라벨링 된 필드 주소를 참조 heap 필드 영역에 명시적 초기화 값 전달 필드의 초기화 묵시적 초기화: 기본 값으로 채워지는 것 명시적 초기화: 사용자가 정의한 값으로 초기화 되는 것 new 객체() 생성자를 통해 객체 생성 시 heap 영역에 객체의 필드가 올라간다 생성되는 객체의 필드는 기본 값을 가진다 (값이 있어야만 메모리 영역에 올라갈 수 있음) 메소드는 메모리 영역 중 Method Area에 따로 저장된다 객.. 2021. 10. 22. Java) 10/21 - 관계 객체 지향의 3대 특징 캡슐화 상속 - is a 관계 다형성 has a 관계 포함 관계 포함하는 객체에 다른 객체를 필드로 추가 다른 객체 필드를 포함하는 객체에 주입(생성자, setter) 포함하는 객체에 주입된 필드를 받아오는 메소드 추가 노트북 - 프로그래머 관계에서 1) 노트북 객체에 노트북 정보를 출력하는 메소드 추가 2) 프로그래머 객체에 노트북 필드 추가, 노트북 필드를 return하는 메소드 추가 3) 프로그래머에서 노트북 필드 return 메소드().노트북 정보 출력() Scanner java.lang 패키지는 default이기 때문에 import가 필요 없지만 다른 패키지들은 import 필요 static 스태틱은 메모리에 올리지 않고 사용 가능 (이미 메모리에 올라가 있음) -> 객체.. 2021. 10. 21. Java) 10/20 - 생성자 //객체생성 /* * 생성자란? * 객체가 생성될 때마다 구동하는 것 * * 1.모든 클래스에는 하나이상의 생성자가 무조건 존재한다. * * 2.기본생성자는 개발자가 작성하지 않아도 무조건 클래스에 암묵적으로 존재한다. * Default Constructor는 인자값x, {} 구현부에서 아무런 일도 하지않는 생성자 * * 3.명시적생성자는 인자값이 하나이상 * 하는일은 "필드 초기화" * * 4. 클래스에 명시적 생성자를 작성해 놓으면 컴파일러가 기본생성자를 넣어주는 작업을 하지 않는다. * * :: * * 필드에 값이 주입되는 통로는 단 2개이다. * 1)명시적 생성자.. 객체가 생성되는 것과 동시에 값이 주입됨 * 2)setter().. 객체가 생성된 직후에 값이 주입됨 * */ //객체생성과 동시에.. 2021. 10. 20. Java) 10/20 - 필드와 메소드 Java OOP(객체 지향) + Advanced Feature OOP Constructor, 상속, 인터페이스, Collection API 등 Advanced Feature 예외처리, Thread 등 JDBC - SQL + Java + DB J2EE Servlet/JSP Front UI: HTML5/CSS3/Javascript Spring Framework: DI, MyBatis, Sprin MVC Class 필드: 클래스의 정보를 담는 변수 메소드: 클래스의 행위를 포현한 함수 필드 선언 위치: class 선언부 바로 아래, 메소드 밖에 className: identifier public void printInfo(){ //메소드 선언부 // 메소드 구현부 (워커) }void: 반환 값이 없을 떄 사용.. 2021. 10. 20. 이전 1 ··· 15 16 17 18 19 20 21 ··· 29 다음 728x90 반응형