프로그래밍/java13 7. java 패키지 패키지 클래스는 패키지를 이용하여 관련된 클래스들을 관리한다. 자바에서 패키지는 폴더와 거의 같은 기능을 제공한다고 생각하면 된다. 클래스를 만들다보면 개수가 매우 많아진다. 클래스가 개수가 많아지면 관계 있는 것들을 모아서 관리해야 한다. 패키지 -> 클래스를 모아논 폴더 패키지 이름 규칙 도메인 이름을 거꾸로 적은 후에 프로젝트 이름 등을 붙여서 만들게 된다. 도메인.프로젝트명.패키지명 음악을 예로 들면, 음악을 어떻게 즐기느냐에 따라 폴더를 만드는 방식이 다르다. 패키지에서도 관련된 클래스를 모으는 것이 중요한데 '관련된'을 어떻게 정의하는가? 패키지를 만든다는 것은 아키텍처와 매우 관련이 있다. (아키텍처 : 구조) 초가집, 양옥집, 아파트는 아키텍처도 다르고 재료도 다르다. 초가집창고 : 초가집.. 2023. 4. 10. 6. java 클래스 잘 만들기 Person 클래스에 메소드 추가 public class Person { String name; //인스턴스필드 String address;//인스턴스필드 boolean isVip;//인스턴스필드 static int count = 0;//클래스필드 public void printName() { // 인스턴스 메소드 System.out.println("내 이름은"+name); } public static void printCount(){ //클래스 메소드 System.out.println("count:"+name); } } 클래스가 가진 메소드는 필드를 내부적으로 사용할 수 있다. 파라미터로 받는 것 제외하고도, 사용할 수 있다. printCount() 메소드에서 인스턴스필드를 사용할 수 있을까? JVM은.. 2023. 4. 10. 5. java 필드, static field math : java가 제공해주는 클래스 사용하려면 API를 봐야 한다. field : static double method : 엄청 많음. static이 붙어있다? : 인스턴스를 만들 필요가 없다. 필드와 메소드 모두 static하기 때문이다. 모든 메소드에 static이 붙어있다. 따라서 math 클래스 사용할 때는 인스턴스를 만들면 안된다. 만약에 클래스 안에 아무런 메소드를 쓰지 않으면 public 클래스명(){} 라는 생성자가 컴파일할 때 자동으로 만들어진다. 그러나, 만약 해당 클래스 내부 외에 다른 클래스에서 인스턴스를 못 만들게 하려면 생성자를 private으로 만들면 된다. private 클래스명(){} Math클래스를 만든 사람은 메모리를 절약할 수 있도록 만든것. 클래스 메소드 vs .. 2023. 4. 5. 4. java 메소드가 실행될 때 어떤일이 벌어지는가? static한 메소드는 인스턴스를 생성하지 않아도 호출할 수 있다. VendingMachine.printVersion(); 이 코드가 오류를 뱉지 않는다면, printVersion()메소드는 static한 메소드. VendingMachine은 class이름이다. class명.메소드명(); public class VendingMachine{ public static void printVersion(){ System.out.println("v1.0"); } } static한 메소드는 reference변수명.static메소드() 처럼 호출할 수는 있지만, 바람직한 방법은 아니다. static한 메소드를 호출하고 싶으면 class이름.메소드명(); 위와 같이 적어주는게 좋다. public class Vendin.. 2023. 3. 16. 3. java 메소드 선언방법, UML표기법 익히기 메소드 선언 [접근제한자] [static] 리턴type 메소드이름([type 매개변수,...]) { 실행문 ... } public int method1 (int x) { ... } 매개변수:O, 반환값 : O public void method2(){ ... } 매개변수 : X, 반환값 : X public void method3(int x) { ... } 매개변수 : O, 반환값 : X public int method4(){ ... } 매개변수 : X, 반환값 : O public void method5(int x, int y) { ... } 매개변수 : 2개, 반환값 : X 클래스와 메소드 만들어보기 public class MathBean{ public void printClassName(){ System.. 2023. 3. 16. 2. java 객체지향 프로그래밍 (1) 질문 - 서점에서 책을 관리하는 것은 누구? - 점원 - 서점에서 단골 고객을 관리하는 것은 누구? - 영업사원 - 서점에서 돈을 관리하는 것은 누구? - 회계팀 야수가 사는 성에 주전다 촛대 시계가 있다. 살아 움직인다. 야수가 사는 성과 같이 서점이 마법에 걸려있으면? - 책장이 살아있다면? 책장아 너는 무슨 책을 갖고있어? 하면 책장이 대답 - 단골 고객 이름이 적힌 명부가 살아있다면? 명부가 대답 - 금고가 살아있다면? 금고가 대답 객체지향 : 말그대로 객체 중심적인 언어 눈에 보이는 것이 다 오브젝트다. 객체지향 프로그래밍 Object-Oriented-Programming, OOP 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 객체들의 모임으로 파악하고자 하.. 2023. 3. 10. 이전 1 2 3 다음