프로그래밍 언어/JAVA (9) 썸네일형 리스트형 [JAVA] 09 - 객체의 필요성 객체? 객체(instance) : 실제 사용 가능하게 메모리에 생성된 것을 의미 객체의 필요성 Person, People, Student, Customer 등등 데이터가 중요한 표현은 클래스 개발 후 '해당 객체 생성'이 해당 고객, 학생, 사람등에 대한 정보를 표현하는 명확한 방식이다. ex) 학사 관리 프로그램 학생 100명일 때 Student.java에서 1) 학생 객체 100개 생성 2) Student 클래스 하나 * 주의사항 단순하게 메소드만 호출하기 위해 객체 생성은 큰 의미가 없다. 불필요한 객체수는 가급적 생성 안하는게 기본이다. [JAVA] 08 - 변수와 메소드 호출 시점과 방식 변수와 메소드 호출 방식은 두가지이며 예외가 없다. 1. 일반 변수와 메소드 생성자로 생성한 객체가 생성된 직후에 참조 변수로 호출 * 생성자 - 객체 생성 시점에 호출 2. static 키워드로 선언된 변수와 메소드 호출 방식 객체 생성과 무관하게 호출 가능 참조 변수 없이 호출 [JAVA] 07 - 변수 구분 변수 선언에 따른 구분 1. 타입에 따른 구분 1.1. 기본타입 (내장타입, built in, 8가지) ex) int i; double d; 1.2. 참조타입 (객체 관리하는 참조 변수, 객체 타입) : class가 존재하는 범위에 한해서만 타입으로 사용 가능 ex) String s; // API에 String.java 제공 Test t; // Test.java를 사용자 정의로 구성 2. 선언 위치에 따른 구분 2.1. 맴버 변수 class {} 하위에 선언되는 모든 변수 객체 생성시에 객체 내부에 구성요소로 생성되는 변수들을 의미 객체 생성시에 생성 및 객체가 메모리에서 소멸될 때 자동 삭제된다. ex) public class People { String name; int age; } 위의 코드에서 P.. [JAVA] 06 - 자바 메소드 개발 시 권장 사항 메소드 개발시 권장 사항 1) 명명 규칙(이름) : 소문자로 시작하자, 단 여러개의 단어가 조합될때는 조합된 단어의 첫 철자만 대문자로 한다. ex) getName( ) / setName( ) 2) 선정시 유의사항 메소드를 호출하는 관점 즉, 사용자 관점에서 이름 선정 권장한다. 3) 기능으로 본 메소드 이름 예시 (1) getName( ) : 이름 정보 주세요 - 새로운 제공 없이 존재하는 데이터 값만 요청한다. - argument 불필요하고 return 필수이다. String getName(){ ... return "이름값:; } (2) setName( ) : 개명했으니 이름 수정해 주세요 - 새로운 데이터 줄테니 이 정보로 변경해주세요 - argument 필수 void setName(String n.. [JAVA] 05 - 자바 기초 개발 과정 코드 설계 과정 1) 주제 선정 - 사람에 대한 이름/나이 정보를 필요시에 콘솔에 출력 2) 설계 방법 확정 - Java로 개발 -> people.java - 데이터 : 이름(문자열) / 나이(정수) -> 변수 : String name / int age 변수명 3) 데이터 구성 - 내 친구 두 명의 정보를 활용 - 클래스(People.java) 개발 * 고민되는 점 하나의 클래스 개발 후에 두 개의 객체를 만들까? 친구 수 만큼 개별 자바 클래스 개발할까? * class? class (설계도) : 객체 (class 기반으로 생성) 붕어빵틀 : 붕어빵 건축설계도 : 건축물 설계한 코드 1. 한개의 클래스로 개발 public class People { //변수 - 실제 사용 가능하게 메모리에 생성되는 시점?.. [JAVA] 04 - java 개발과 컴파일 Test.java에 코드를 입력하여 개발을 한후 ex) public class Test { String name = "우지"; public static void main(String[] args) { Test t = new Test(); System.out.println(t.name); } } 터미널에서 > javac Test.java Test.java를 다음과 같이 컴파일 하면 Test.class 가 생성되며 터미널에서 class를 실행하면 된다. > java Test [JAVA] 03 - 클래스 내부 구성 요소 클래스 내부 구성 요소 1. 변수 타입 변수명; 타입 변수명 = 값; ex) String name; String name2 = "우지"; 2. 생성자 클래스명([arguments]) { [logic] } ex) People(){} 3. 메소드 1) void 메소드([타입 변수명1, 타입 변수명2, ...]){ [logic] } 2) 리턴되는 데이터 타입 메소드([타입 변수명1, 타입 변수명2, ...]){ [logic] return 값; } ex) int sum(int v1, int v2) { return v1 + v2; } void sum2(int v1, int v2) { System.out.println(v1 + v2); } [JAVA] 02 - 소스 구조, main() 메소드, 객체의 필요성 1. 소스 구조 1) 확장자 *.java 2) java 소스의 구성 package 선언구 - 현 소스의 저장 경로 - package명 : 디렉토리 구조 및 이름 import 선언구 - 다른 package의 프로그램을 가져와 사용하겠다는 의미 class 이름{ 변수(데이터) 생성자(객체생성시에 호출되는 필수 구성 요소) 메소드(기능) } 2022.01.04 - [프로그래밍 언어/JAVA] - [JAVA] 03 - 클래스 내부 구성 요소 [JAVA] 03 - 클래스 내부 구성 요소 클래스 내부 구성 요소 1. 변수 타입 변수명; 타입 변수명 = 값; ex) String name; String name2 = "우지"; 2. 생성자 클래스명([arguments]) { [logic] } ex) People(){}.. 이전 1 2 다음