전체 글 썸네일형 리스트형 자바 static 변수, 클래스 변수- Do it! 자바프로그래밍기초 static 변수란 다른 용어로 '정적 변수'라고도 한다. 다른 멤버 변수처럼 클래스 내부에 선언하고 자료형 앞에 static 예약어를 사용한다. static 변수는 클래스 내부에 선언하지만, 다른 멤버 변수처럼 인스턴스가 생성될 때마다 새로 생성되는 변수가 아니다. 프로그램이 실행되어 메모리에 올라갔을 때 딱 한번 메모리 공간이 할당된다. 그리고 그 값은 모든 인스턴스가 공유한다. 다시 말하면 static으로 선언한 변수는 인스턴스 생성과 상관없이 먼저 생성되고 그 값을 모든 인스턴스가 공유하게 된다. 이런 이유로 클래스에 기반한 변수라고 해서 '클래스변수'라고도 한다. public class Student { public static int serialNum = 1000; //static 변수는 인스.. 더보기 자바 객체 간 협력 - Do it! 자바프로그래밍기초 public class Student { public String studentName; public int grade; public int money; public Student(String studentName, int money) { this.studentName = studentName; this.money = money; } public void takeBus(Bus bus) { bus.take(1000); this.money -= 1000; } public void takeSubway(Subway subway) { subway.take(1500) this.money -= 1500; } public showInfo() { System.out.println("studentName + "님의 남은 .. 더보기 자바 접근제어자, public, private - Do it ! 자바프로그래밍기초 객체 지향 프로그래밍에서는 예약어를 사용해 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있다. 이러한 예약어를 접근 제어자라고 한다. public이라고 선언한 변수나 메서드는 외부 클래스에서 접근이 가능하며 외부 클래스가 사용할 수 있다는 뜻 private으로 선언한 변수나 메서드는 외부 클래스에서 사용할 수 없다. public class Student { int studentID; private String studentName; int grade; String address; public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.stude.. 더보기 자바 생성자, 생성자 오버로딩, 참조 자료형 - Do it ! 자바프로그래밍기초 public class Person { String name; float height; float weight; } public class PersonTest { public class void main(String[ ] args) { Person personLee = new Person(); } } PersonTest 클래스에서 클래스를 생성할 때 사용하는 Person()같은 함수를 생성자라고 한다. 클래스의 멤버 변수는 메서드에 의해 값이 변경될 수도 있지만, 처음 클래스를 생성할 때 값을 정해야 하는 경우도 있다. 생성자가 하는 일은 클래스를 처음 만들 때 멤버 변수나 상수를 초기화하는 것이다. 위의 Person 클래스를 보면 생성자가 따로 없지만 new Person()을 사용해서 객체를 만들 수.. 더보기 자바 클래스 인스턴스 - Do it ! 자바프로그래밍기초 public class Student { int studnetID; String studentName; int grage; String address; public String getStudentName(){ return studentName; } public void setStudentName(String name) { studentName = name; } public static void main(String[ ] args) { Student studnetAhn = new Student(); // Student 클래스 생성 StudentAhn.studentName = "안연수"; System.out.println(studentAhn.studentName); System.out.println(stud.. 더보기 자바 class, 함수, method, - Do it 자바프로그래밍기초 순서대로 일어나는 일을 시간순으로 프로그래밍하는 것을 절차 지향 프로그래밍이라고 한다. 반면에 객체 지향 프로그래밍이란 객체를 정의하고 객체 간 협력을 프로그래밍하는 것이다. 객체 지향 프로그램은 클래스를 기반으로 프로그래밍하는데, 클래스는 객체의 속성과 기능을 코드로 구현한 것이다. 클래스의 속성을 '멤버 변수'라고 하는데, 예를 들어 Student 객체가 가지는 속성(멤버 변수)는 학번, 이름, 학년, 사는 곳 등이 있을 것이다. public class Student { int studentID; String studentName; int grade; String address; } 클래스를 만들 떄는 class 예약어를 사용하고 클래스 이름은 Student로 정했다. { } 안에는 클래스 내용을 구.. 더보기 c언어 동적 메모리 할당하는 이유 프로그램이 실행되려면 메모리가 필요하다. 실행 파일이 메모리에 로드되어야 실행될 수 있고, 또 프로그램에서 선언하는 변수들도 메모리에 할당된다. int a; double b; 컴파일러는 변수들이 값을 제대로 보관하도록 변수 타입에 맞는 크기만큼 메모리를 할당한다. 변수 a는 정수형이므로 4바이트, 변수 b는 실수형이므로 8바이트가 할당된다. 이렇게 미리 필요한 메모리량을 알려주는 할당을 정적할당이라고 한다. 프로그램을 작성할 때 필요한 메모리량을 지정하는 정적할당과는 달리, 실행 중에 필요한만큼 메모리를 할당하는 기법을 동적할당이라고 한다. 메모리를 동적으로 할당하면 메모리 관리에 효율적이라고 하는데, 예를 들어보면 100개의 정보를 저장할 수 있는 정적 메모리 할당을 사용해서 프로그램을 만들면 , 10.. 더보기 c언어 구조체 프로젝트 struct project - 나도코딩 유튜브 나도코딩 c언어 기초 강의 내용이 포함되었습니다. #include #include // 5마리의 고양이가 있다 // 아무키나 눌러서 랜덤으로 고양이를 뽑되 // 5마리 모두 다 수집을 해서 열심히 키우면 되는 게임 ! // 중복발생가능 !! // 고양이 // 이름 나이 성격 키우기난이도(레벨) typedef struct { char* name; int age; char* character; int level; }cat; // 현재까지 보유한 고양이 int collection[5] = { 0, }; // 전체 고양이 리스트 cat cats[5]; void initcats(); void printcat(int selected); int main(void) { srand(time(NULL)); init.. 더보기 이전 1 ··· 4 5 6 7 8 9 다음