접근 제어자
·
Java
자바는 public, private 같은 접근 제어자(access modifier)를 사용한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 관리할 수 있다. 이해를 한 내용들은 생략을 하자면.. 기존 코드를 이어받게 되었을 때, 요구사항을 잘 모르는 상태에서 private으로 접근이 제한되어있지 않다면새로운 개발자가 기능을 추가할 때 치명적 오류가 발생할 수 있다.. 해당 필드에 직접 접근을 막기위해 private을 사용한다. private : 모든 외부 호출을 막음default : 같은 패키지 안에서의 호출은 허용protected : 같은 패키지 안에서 호출 허용 + 패키지가 달라도 상속관계 호출은 허용public : 모든 호출 허용 private -> defaul..
생성자
·
Java
객체를 생성하는 시점에 어떤 작업을 하고싶다면 생성자를 이용하면 된다. 생성자가 왜 필요한가?객체를 생성하고 나면 변수에 초기값을 설정하게 된다.package construct;public class MethodInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 90; MemberInit member2 = new MemberInit(); member2.name = "user2"; member2.age..
객체 지향 프로그래밍
·
Java
이번 섹션에선 절차 지향 프로그래밍과 객체 지향 프로그래밍을 비교해보고 객체 지향 프로그래밍에 대해 학습했다. 절차 지향 프로그래밍절차지향 프로그래밍은 이름 그대로 절차를 지향한다. 이전에 다뤘던 예제들은 모두 절차지향 프로그래밍이다.실행 순서를 중요하게 생각하는 방식으로 코드를 작성했기 때문이다. 즉 "어떻게"를 중심으로 프로그래밍 한다. 객체 지향 프로그래밍객체지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중점으로 프로그래밍 하는 방법이다.객체지향은 실제 세계의 사물이나 사건을 객체로 보고, 객체간의 상호작용을 중심으로 프로그래밍한다.즉 "무엇을" 중심으로 프로그래밍 한다. 이 중 핵심은 객체 지향은 속성(변수)과 기능(메서드)가 객체 안에 포함되어 있다는 것이다. (캡슐화)  자바에서 da..
기본형과 참조형
·
Java
기본형과 참조형에 대해 공부했다.변수의 데이터 타입을 크게 본다면 기본형과 참조형 두가지로 분류할 수 있다.기본형은 사용하는 값을 변수에 직접 넣는 방식. (int, long, double, boolean)참조형은 객체가 저장된 메모리의 위치 (참조값)을 넣는 방식 (Student student1, int[ ] students), 객체 또는 배열에 사용됨 기본형 vs 참조형기본형은 숫자 10, 20과 같이 실제 사용하는 값을 변수에 담을 수 있다. 그리고 그 값을 바로 사용할 수 있다.참조형은 실제 사용하는 값을 담지 않는다. 이름 그대로 객체의 위치 (참조, 주소)를 담는다. 참조형에는 객체와 배열이 있다.(객체는 . (dot)을 사용해 객체로 접근해야 사용이 가능하고, 배열은 [ ]를 통해 접근하여 ..
클래스 - 배열
·
Java
이전 코드에서의 아쉬운 점은 출력문이다.마찬가지로 학생이 추가된다면 출력문을 하나씩 추가해야한다. 이것을 해결하기위해 배열을 도입해봤다. package class1;public class ClassStart4 { public static void main(String[] args) { Student student1 = new Student(); student1.name = "학생1"; student1.age = 15; student1.grade = 90; Student student2 = new Student(); student2.name = "학생2"; student2.age = 16; studen..
클래스, 객체, 인스턴스
·
Java
강의 예제 중 클래스가 왜 필요한지에 대한 내용이다. package class1;public class ClassStart1 { public static void main(String[] args) { String student1Name = "학생1"; String student2Name = "학생2"; int student1Age = 15; int student2Age = 16; int student1Score = 90; int student2Score = 80; System.out.println("이름: " + student1Name + "나이: " + student1Age + "점수: " + student1..