Loading...
2023. 2. 15. 00:11

자바 기본 배우기 -캡슐화와 접근제한자 1편-

1. 캡슐화(encapsulation) Person이라는 클래스가 다음과 같이 정의되어있다 public class Person { public String name; public int age; public Person(String name, int age){ this.name = name; this.age = age; } public void eat() { System.out.println("음식을 먹는다."); } } 내가 인자를 받는 생성자 Person을 정의했기때문에, JVM은 기본 생성자를 제공하지 않는다 그러므로 Person의 인스턴스를 정의할때 인자를 주지 않으면 만들수없다 //에러 Person p = new Person(); //가능 Person p = new Person("김태연",28)..

2023. 2. 14. 04:13

자바 기본 배우기 -패키지와 import-

1. 패키지(package) PC의 많은 파일을 관리하기 위해 폴더를 이용 프로그램의 많은 클래스를 관리하기 위해 패키지를 이용 패키지도 결국 하나의 폴더 느낌.. 패키지는 클래스와 관련 있는 인터페이스들을 모아두기 위한 이름 공간 패키지의 구분은 .(dot) 연산자를 이용한다 패키지의 이름은 시중에 나와있는 패키지들과 구분되게 지어야 한다 보통은 소속이나 회사의 도메인을 이용한다고함 예를 들어 naver.com이 자기 회사 소속이라면,, 이를 뒤집어서 com.naver.(project_이름).(module_이름,class 이름,... 등등)으로 쓰는게 관례 Person.java랑 PersonTest.java로 서로 이름이 같은데 com.ssafy.class01, com.ssafy.class02로 서로 ..

자바 기본 배우기 -생성자란 무엇인가-

1. 생성자 인스턴스가 생성될 때 최초 한번 수행되는 함수 new 키워드와 함께 호출 클래스를 생성할 때 반드시 하나의 생성자를 호출 = 생성자는 여러개일 수 있다 성공적으로 실행되면 힙 영역에 객체 생성 후 객체의 주소가 리턴 필드의 초기화, 객체 생성 시 실행되어야 할 작업 작성 클래스 이름은 PascalCase로 작성하는 것이 관례이며, 생성자 이름은 클래스 이름과 동일하다 보니까 파이썬 __init__이랑 비슷함 2. 생성자의 특징 클래스와 이름이 대소문자도 모두 동일하다 반환타입이 없으며, void도 작성하지 않는다 필드의 초기화, 객체 생성 시 실행되어야 할 작업 작성 public class Dog { public Dog() { System.out.println("기본 생성자!"); Syste..

2023. 2. 12. 02:20

자바 기본 배우기 -메소드와 JVM의 메모리 구조-

1. 메소드(method) 객체가 할 수 있는 행동을 정의 어떤 작업을 수행하는 명령문의 집합에 이름을 붙여 놓은 것 이름은 소문자로 시작하고 camelCase로 작성하는 것이 관례 접근제한자에서 default의 경우 접근제한자로 아무것도 안쓰면 default return이 없으면 반환값 부분에는 void라고 써야함 매개변수들은 없어도 된다 1-1) 왜 작성하나? 반복적인 코드 사용을 줄인다, 코드 중복을 제거, 코드 양을 줄인다 유지보수가 좋다 1-2) 메소드 선언 {}안에 메소드가 해야할 일을 정의함 1-3) 호출 방법 (인스턴스이름).(메소드 이름)으로 접근 메소드가 static으로 선언되어 있다면, (클래스 이름).(메소드 이름)으로 접근 가능하다 public class Person { publi..

2023. 2. 11. 01:41

자바 기본 배우기 -변수에 대해-

1. 변수 종류 1-1) 클래스 변수(class variable) 클래스 영역에 선언 static 키워드를 사용해야함 클래스 영역은 어디인데..? class Person { static int person_count; } Person 클래스가 메모리에 올라갔을 때 static으로 선언된 클래스 변수인 person_count가 생성 현재 위 예시에서 person_count를 초기화하지 않았는데.. 어떤 값으로 초기화될까? 자료형의 기본값으로 초기화됨 여기서 int형이니까 0으로 초기화됨 static int person_count = 0;과 동일함 참고로 클래스 변수의 소멸시기는 프로그램 종료시이다. 접근 방법은? 객체 생성과는 무관하게 (클래스 이름).person_count 식으로 접근 >>> 모든 인스턴..

2023. 2. 8. 01:52

자바 기본 배우기 -자바에서 함수와 클래스 기본-

1. 클래스란 무엇인가 사람의 정보를 관리하고 싶다 가장 쉬운방법은 변수들을 만들어서 일단 무작정 넣어놓는것 package com.ssafy.class01; public class PersonTest { public static void main(String[] args) { String name1 = "Yang"; String name2 = "Hong"; int age1 = 45; int age2 = 25; String hobby1 = "Youtube"; String hobby2 = "Golf"; } } 하지만 사람이 더 늘어난다면? 동일한 자료형들을 하나로 묶어서 관리할 수 있는 배열을 사용 그러면 반복문도 사용 가능해지고 코드도 간결해지고.. //배열 사용 int size = 2; String[] ..