분류 전체보기 (122) 썸네일형 리스트형 [JAVA] 카드 사용 프로그램 (Equals() 메소드, instanceof 연산자) class Card String name // 카드사용자 int money // 현재까지 사용한 금액 (처음에는0) boolean flag // 제한금액 여부 (F면 제한금액 없음) int limit // 제한금액 (T면 제한금액 있음) void pay(int money) // money만큼 결제 void alert() // "제한금액을 초과하여 사용할수없습니다!"라는 경고문구를 출력 --생성자--(2가지) Card("홍길동") -> 제한금액 없음 Card("홍길동",10000) -> 제한금액 있음(10000원으로 설정됨) 출력시 : ㅇㅇ님 현재까지 사용한 금액은 ㅁㅁ원입니다. 제한금액 O: xxx원 제한금액 X class CreditCard int cnt // 제한금액을 초과하는 결제 횟수를 카운팅 v.. [JAVA] 접근제어자 private (Getter, Setter 메소드) 객체 지향 프로그램에서는 데이터를 보호하기 위해서 외부에서 직접적으로 접근하는 것을 막는다. 그 이유는 외부에서 마음대로 데이터를 읽고 변경할 경우 객체의 무결성(결점이 없는 상태)이 깨질 수 있기 때문이다. 예를 들어 사람의 나이나, 자동차의 속도, 책의 페이지 수는 음수가 될 수 없다. 만약 외부에서 해당 데이터를 음수로 변경하게 될 경우 객체의 무결성이 깨지게 된다. 이러한 경우 접근제어자 private를 사용해서 필드의 직접적인 접근을 막아두고 메소드를 활용해서 받아온 데이터(매개변수의 값)을 먼저 검사하고 유효할 때만 저장할 수 있게끔 만들 수 있다. 이때 사용하는 메소드가 Getter, Setter 메소드 이다. Getter, Setter 메소드를 사용하면 객체의 무결성을 해치지 않고 데이터를.. [JAVA] 모래성 쌓기 게임 (Static) 정적(Static)이란? 정적(Static)은 고정된이란 의미를 가지고 있습니다. static이라는 키워드를 사용하여 static변수와 static메소드를 만들 수 있는데 이 둘을 합쳐서 정적 멤버(=클래스 멤버)라고 합니다. 정적 필드, 정적 메소드는 객체(인스턴스)에 소속된 멤버가 아니라 클래스에 고정된 멤버이기때문에 클래스로더가 클래스를 로딩해서 메소드 메모리 영역에 적재할때 클래스별로 관리됩니다. 따라서 클래스의 로딩이 끝나는 즉시 바로 사용할 수 있습니다. Static영역에 할당된 메모리는 모든 객체가 공유하여 하나의 멤버를 어디서든지 참조할 수 있는 장점을 가지지만, Garbage Collector의 관리 영역 밖에 존재하기 때문에 프로그램이 종료될 때까지 메모리에 값이 유지된 채로 존재하게됩.. [JAVA] 변수 명칭 정리 (멤버변수, 매개변수, 지역변수, 클래스변수, 인스턴트변수) 비전공자인 제게는 JAVA공부하면서 나오는 변수명까지 익숙하지 않고 헷갈려서 명칭들에 대해서 익숙해지기 위해서 정리를 해보려고 합니다. 먼저 선언 위치에 따라서 크게 멤버변수와 지역변수로 나뉩니다. 클래스영역에서 선언된 변수를 멤버변수라고 하는데 멤버변수는 클래스변수, 인스턴스 변수로 나뉘게 됩니다. 인스턴스변수 클래스영역에 선언되고 인스턴스 생성시 만들어집니다. 각각의 인스턴스마다 다른값을 가지고 있습니다. 클래스변수 인스턴스변수 앞에 static을 붙이기만 하면 됩니다. 인스턴스변수가 각각의 인스턴스마다 다른값을 가질 수 있는 것과 다르게 값을 공유하는 변수입니다. 지역변수 메소드 내에 선언되며 메소드 호출시 생성되고 메소드가 종료되면 사라집니다. 매개변수 파라미터라고 불리는데 메소드에서 입력값을 받.. [JAVA] Map을 활용한 학생부 프로그램 만들기 학생 // 클래스 name // 맴버변수 score Student("홍길동"); //생성자 -> 홍길동 -> 0~100 랜덤 (출력) // toString 오버라이딩 사용 => 홍길동 90점 main() 학생부 => Map을 활요할 예정! 1001번부터 순서대로 번호부여 1을 누르면 추가 C 추가할 학생의 이름을 입력하세요 2를 누르면 출력 R 3를 누르면 삭제 D 삭제할 학생의 번호를 입력하세요 4를 누르면 종료 [JAVA] toString() 오버라이딩 오버라이딩에 대해서 공부를하다가 toString() 오버라이딩이 값을 출력한다? 대충 이런 뜻으로만 이해되고 출력을 해주는 정확한 이유에 대해서 헷갈려서 하기와 같이 정리해보고자 합니다. 가장먼저 Object클래스에 대해서 알아야만 toString() 메소드를 이해할 수 있습니다. Object클래스 Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용가능합니다. Object클래스는 멤버변수는 없고 오직 11개의 메소드만 가지고 있습니다. 즉, Object클래스는 모든 클래스를 상속 가능한 부모클래스라고 생각하면 됩니다. toString() 메소드 이 메소드는 인스턴스에 대한 정보를 문자열(String)로 제공할 목적으로 정의한 메소드 입니다. Ob.. [JAVA] 컬렉션 프레임워크 (List, Set, Map) 컬렉션 프레임워크란? 자바에서 데이터를 저장하는 클래스들을 표준화한 설계 구조를 말한다. (틀, 뼈대) 컬렉션 프레임워크를 사용의 장점 제작자의 편의성 증가 유지보수 용이 제작자들의 실력이 상향평준화됨 대표적인 인터페이스에 대해서 하기와 같이 정리해보았습니다. 인터페이스 설명 특징 대표 구현 클래스 List 순서가 있는 데이터의 집합 데이터의 중복을 허용 ArrayList LinkedList Set 순서를 유지하지않는 데이터의 집합 데이터의 중복을 허용하지 않음 HashSet LinkedHashSet Map 키(key)와 값(value)의 쌍으로 이루어진 데이터 집합 순서유지X 키 중복 X 값 중복O HashMap LinkedHashMap Properties ArrayList 지원메서드 및 예시 1 2 .. [JAVA] 클래스와 클래스 선언 (필드, 생성자, 메소드, 인스턴스멤버) 클래스 선언 대표 이름을 하나 결정하고 이것을 클래스 이름으로 한다. 식별자 작성 규칙에 따라서 만들어야한다. 일반적으로 소스 파일당 하나의 클래스를 선언하지만, 두개 이상의 선언도 가능 객체 생성과 클래스 변수 new 클래스; new 는 클래스로부터 객체를 생성시키는 연산자 new 연산자로 생성된 객체는 메모리 힙(heap) 영역에 생성 클래스의 구성 멤버 필드 (Field), 생성자 (Constructor), 메소드 (Method) : 생략되거나 복수개 생성가능 필드 : 객체의 데이터가 저장되는 곳 생성자 : 객체 생성 시 초기화 역할 메소드 : 객체의 동작에 해당하는 실행 블록 필드 (Field) 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳 변수와 다른점 : 생성자와 메소드 전체에서 .. 이전 1 ··· 10 11 12 13 14 15 16 다음