클래스4 클래스 상속 (extends) 상속을 사용할 때는 접근 제한자(캡슐화)에 대한 부분만 머릿속에서 잘 그리면 사용이 그리 어렵진 않습니다. 기본적으로 Java에서는 다중 상속을 허용하지 않고 있기 때문에 부모 클래스와 자식 클래스의 관계가 명확합니다. 프로그램이 커질 수록 객체 간 상관관계를 구조도로 그려두는 것이 좋겠네요. 일단 클래스 생성 시 필드는 private으로 생성하는 것이 좋습니다. 자식 클래스 또는 다른 클래스에서 데이터에 직접 접근하는 것을 방지하기 위함 입니다. 그리고 해당 데이터에 접근할 수 있는 함수를 추가로 만들어두는데, 값을 가져오는 것을 "getter", 값을 변경하는 것을 "setter"라고 부릅니다. 거의 필수적인 구조라 이클립스에서는 아예 해당 함수를 자동 생성해주는 기능이 있습니다. package st.. ▸JAVA/기본 문법 2019. 12. 10. 기본 클래스 import가 되지 않을 때 입력값을 받기 위한 JOptionPane 클래스를 사용하기 위해 아래와 같은 코드를 짰습니다. package study.input; import javax.swing.JOptionPane; public class InputTest { public static void main(String[] args) { String id = JOptionPane.showInputDialog("입력해주세요"); } } 하지만 아래와 같이 빨간줄이 그이면서 아래와 같은 경고가 뜹니다. 즉, 해당 패키지와 클래스가 없다는 의미인 것 같습니다. 기본이라서 원래 그냥 돼야 하는 걸로 알고 있는데 없다고 하네요. Create class 'JOptionPane' in package 'javax.swing' 검색해봐도 정.. ▸JAVA/개발 TIP 2019. 12. 9. 클래스, 인스턴스, 객체의 차이 혼용하거나 좁은 의미로 쓰기도 하지만 세 가지는 모두 다른 의미를 가지고 있습니다. 사실 클래스와 인스턴스는 의미가 명확한데 객체라는 것은 워낙 포괄적인 의미라 모호할 수 있으니 정확한 개념을 잡고 있어야 커뮤니케이션에 오류가 줄어들 것 같습니다. [ 클래스 ] 클래스가 어떻게 생겼는지 정해둔 양식지, 설계도 C언어의 구조체 정의와 같음 (실제로 사용하기 전 구조체 정의만 한 상태) 설문조사를 하기 위해 설문조사 항목(변수)와 절차(메소드)를 하나의 문서로 만들어서 컴퓨터에 저장해둔 상태가 클래스입니다. 즉, 아직 인쇄되진 않고 양식만 존재하는 상태입니다. [ 인스턴스 ] 클래스를 담은 일종의 클래스 변수 C언어 구조체에서 구조체 타입 변수 하나를 생성한 것과 동일 객체의 하위 개념 (같은 개념은 .. ▸JAVA/기본 상식 2019. 12. 9. 워크스페이스/프로젝트/패키지/클래스의 개념 및 명명 규칙 C에서 JAVA로 넘어오니, 해당 개념이 헷갈려서 정리해봅니다. 이클립스 기준입니다. 먼저 전체적인 구조는 아래와 같습니다. 실제 우리가 코딩을 하는 부분은 모두 "클래스(Class)"입니다. 나머지는 분류를 위한 일종의 카테고리라고 볼 수 있습니다. ※ 공통 명명 규칙 - 대소문자 구분이 됨 - 예약어(시스템에서 이미 사용하고 있는 이름)를 사용하면 안됨 - 숫자로 시작할 수 없음 - 특수문자는 '_'(언더바), '$'만 사용가능 [ 워크스페이스(WorkSpace) ] 하나의 프로그램 단위 규모가 큰(기능이 많은) 프로그램은 여러 실행파일(프로젝트)로 이루어질 수 있음 가장 상위 폴더로 생성됨 ※ 워크스페이스 명명(이름) 규칙 - 공통규칙에 따름 [ 프로젝트(Project) ] 하나의 실행파일 단위.. ▸JAVA/기본 상식 2019. 12. 9. 이전 1 다음 💲 추천 글 반응형